国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

JavaScript中重名的函數與對象示例詳析

2024-05-06 16:40:05
字體:
來源:轉載
供稿:網友

前言

本文主要給大家介紹了關于JavaScript中重名的函數與對象的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

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

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

JavaScript允許重復定義函數。

JavaScript沒有重載這個概念,它僅依據函數名來區分函數。

后定義的同名函數覆蓋之前的,與參數無關。

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"

實參個數如果比形參少,那么剩下的默認賦值為undefined;如果實參傳的比形參數量多,那么是全部都會被傳進去的,只不過沒有對應的形參可以引用(但可以用arguments來獲取剩下的參數)

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

變量與函數重名的時候,變量生效

這涉及到了變量和函數的預解析:

- 變量聲明會被頂置,函數聲明也會被頂置且比變量更先聲明。

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

- 聲明過的變量不會再重復聲明。

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

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

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

函數與內部變量重名

定義普通函數,即在window變量下,定義一個key,它的名字為該函數名,值為該函數的地址。函數內部的this指向window對象。

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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三原县| 南华县| 白山市| 利辛县| 岚皋县| 尼勒克县| 安阳县| 丹寨县| 宕昌县| 天等县| 乐业县| 石嘴山市| 广昌县| 闽侯县| 阜阳市| 清丰县| 翁牛特旗| 抚顺县| 南京市| 共和县| 平顶山市| 铁岭市| 手游| 宝兴县| 逊克县| 武清区| 永川市| 赫章县| 循化| 彩票| 天台县| 台江县| 石屏县| 元氏县| 呼图壁县| 黔西县| 福建省| 德江县| 信宜市| 清水县| 商洛市|