最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中重名的函數(shù)與對(duì)象示例詳析

 更新時(shí)間:2017年09月28日 11:53:35   作者:司馬懿字仲達(dá)  
最近同事問了一個(gè)問題,說在js中如果函數(shù)與對(duì)象重名了會(huì)怎么樣?仔細(xì)詳細(xì)這個(gè)問題值得討論一下,所以便有了這篇文章,這篇文章主要給大家介紹了關(guān)于JavaScript中重名的函數(shù)與對(duì)象的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧啊。

前言

本文主要給大家介紹了關(guān)于JavaScript中重名的函數(shù)與對(duì)象的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧。

JavaScript 允許重復(fù)聲明變量,后聲明的覆蓋之前的。

var a = 1;
var a = 'x';
console.log(a);
//輸出'x'

JavaScript允許重復(fù)定義函數(shù)。

JavaScript沒有重載這個(gè)概念,它僅依據(jù)函數(shù)名來區(qū)分函數(shù)。

后定義的同名函數(shù)覆蓋之前的,與參數(shù)無關(guān)。

function test() {
 console.log("test");
}
test(); //輸出 "test arg0 + undefined"

function test(arg1) {
 console.log("test arg" + arguments.length + " + " + arg1);
}
test(1,2); //輸出 "test arg2 + 1"

實(shí)參個(gè)數(shù)如果比形參少,那么剩下的默認(rèn)賦值為undefined;如果實(shí)參傳的比形參數(shù)量多,那么是全部都會(huì)被傳進(jìn)去的,只不過沒有對(duì)應(yīng)的形參可以引用(但可以用arguments來獲取剩下的參數(shù))

function test(arg1) {
 for(var i=0; i<arguments.length; i++) {
 console.log(arguments[i]);
 }
}
test(1,2); //輸出 1 2

變量與函數(shù)重名的時(shí)候,變量生效

這涉及到了變量和函數(shù)的預(yù)解析:

- 變量聲明會(huì)被頂置,函數(shù)聲明也會(huì)被頂置且比變量更先聲明。

- 變量的聲明和賦值語句一起寫時(shí),JS引擎在解析時(shí),會(huì)將其拆成聲明和賦值2部分,聲明置頂,賦值保留在原來位置。

- 聲明過的變量不會(huì)再重復(fù)聲明。

var a = 100;
function a() {
 return "function";
}
console.log(a); //輸出 100
console.log(a()); 
/*
報(bào)錯(cuò)
Uncaught TypeError: a is not a function
 (anonymous function) @test.html:9
*/

JS中有兩種函數(shù),一種是普通函數(shù),一種是函數(shù)對(duì)象。下面的這種就是“函數(shù)對(duì)象”,它實(shí)際上是聲明一個(gè)匿名函數(shù),然后將該函數(shù)的init方法賦值給該變量。

var a = 100;
var a = function() {
 return "function";
}
console.log(a);
/* 
輸出
function() {
 return "function";
}
*/
console.log(a()); //輸出 "function"

函數(shù)與內(nèi)部變量重名

定義普通函數(shù),即在window變量下,定義一個(gè)key,它的名字為該函數(shù)名,值為該函數(shù)的地址。函數(shù)內(nèi)部的this指向window對(duì)象。

function a() {
 console.log(this); //輸出 window{...}
 this.a = 1;  //即 window.a = 1,此時(shí)window下的function a已經(jīng)被該變量覆蓋了。
 var a = 5;  //下面的這幾個(gè)變量都是局部變量,僅在花括號(hào)范圍內(nèi)有效。 
 a = 10;
 var v = "value"
 return "function";
}
console.log(a);  //輸出 function a {...}
console.log(a()); //輸出 "function"
console.log(a);  //輸出 1
console.log(v);
/*
輸出
Uncaught ReferenceError: v is not defined
 (anonymous function) @ mycolor.html:15
*/

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 在window.setTimeout方法中傳送對(duì)象

    在window.setTimeout方法中傳送對(duì)象

    setTimeout方法是js中的延時(shí)方法,很多js的bug,只需要使用該方法延時(shí)一下,就會(huì)自動(dòng)解決了,簡(jiǎn)直就是萬能藥方,也是我比較喜歡使用的最后手段。
    2006-12-12
  • webpack的pitching loader詳解

    webpack的pitching loader詳解

    這篇文章主要介紹了webpack的pitching loader詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 動(dòng)態(tài)調(diào)用CSS文件的JS代碼

    動(dòng)態(tài)調(diào)用CSS文件的JS代碼

    動(dòng)態(tài)調(diào)用CSS文件,一般用于頁面的多種顏色選擇,通過調(diào)用不同的css實(shí)現(xiàn)不用的頁面顏色效果。
    2010-07-07
  • javascript自定義右鍵彈出菜單實(shí)現(xiàn)方法

    javascript自定義右鍵彈出菜單實(shí)現(xiàn)方法

    這篇文章主要介紹了javascript自定義右鍵彈出菜單實(shí)現(xiàn)方法,涉及javascript操作鼠標(biāo)事件及頁面元素的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • JavaScript中檢測(cè)數(shù)據(jù)類型的四種方法總結(jié)

    JavaScript中檢測(cè)數(shù)據(jù)類型的四種方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了四個(gè)JavaScript中檢測(cè)數(shù)據(jù)類型的常用方法,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的可以參考一下
    2023-04-04
  • javascript獲取指定區(qū)間范圍隨機(jī)數(shù)的方法

    javascript獲取指定區(qū)間范圍隨機(jī)數(shù)的方法

    下面小編就為大家?guī)硪黄猨avascript獲取指定區(qū)間范圍隨機(jī)數(shù)的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • js實(shí)現(xiàn)日歷的簡(jiǎn)單算法

    js實(shí)現(xiàn)日歷的簡(jiǎn)單算法

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)日歷的簡(jiǎn)單算法,用js寫了一套日歷,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • uniapp movable-area應(yīng)用

    uniapp movable-area應(yīng)用

    這篇文章主要為大家介紹了uniapp movable-area應(yīng)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • javascript實(shí)現(xiàn)評(píng)分功能

    javascript實(shí)現(xiàn)評(píng)分功能

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)評(píng)分功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • js實(shí)現(xiàn)的tab標(biāo)簽切換效果代碼分享

    js實(shí)現(xiàn)的tab標(biāo)簽切換效果代碼分享

    這篇文章主要介紹了js實(shí)現(xiàn)的tab標(biāo)簽切換效果,功能實(shí)現(xiàn)非常簡(jiǎn)單,推薦給大家,有需要的小伙伴可以參考下。
    2015-08-08

最新評(píng)論

浪卡子县| 彭州市| 科技| 彭州市| 平利县| 湖南省| 都兰县| 白水县| 华蓥市| 泗洪县| 成安县| 得荣县| 新邵县| 集贤县| 镇江市| 赫章县| 雷州市| 阿拉善左旗| 台东县| 梁平县| 衡阳县| 姜堰市| 武宁县| 临沧市| 丰原市| 建平县| 双城市| 获嘉县| 乌兰察布市| 米林县| 荃湾区| 宁晋县| 顺平县| 女性| 湟源县| 武清区| 永定县| 通榆县| 桃园县| 丰都县| 当涂县|