中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

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

前言

創(chuàng)新互聯建站專注于睢寧縣網站建設服務及定制,我們擁有豐富的企業(yè)做網站經驗。 熱誠為您提供睢寧縣營銷型網站建設,睢寧縣網站制作、睢寧縣網頁設計、睢寧縣網站官網定制、成都小程序開發(fā)服務,打造睢寧縣網絡公司原創(chuàng)品牌,更為您提供睢寧縣網站排名全網營銷落地服務。

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

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

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

JavaScript允許重復定義函數。

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

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

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); //輸出 100
console.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);  //輸出 1
console.log(v);
/*
輸出
Uncaught ReferenceError: v is not defined
 (anonymous function) @ mycolor.html:15
*/

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯的支持。

分享名稱:JavaScript中重名的函數與對象示例詳析
鏈接分享:http://www.rwnh.cn/article10/jeesgo.html

成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站制作、動態(tài)網站虛擬主機、網站改版、用戶體驗、靜態(tài)網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

搜索引擎優(yōu)化
宁明县| 古交市| 天镇县| 页游| 岗巴县| 墨脱县| 泉州市| 绍兴市| 平江县| 杂多县| 延川县| 承德县| 竹北市| 修文县| 安泽县| 仲巴县| 乡宁县| 察隅县| 武川县| 晋江市| 隆化县| 驻马店市| 高安市| 行唐县| 星座| 平泉县| 时尚| 扶风县| 大冶市| 上高县| 华阴市| 荃湾区| 贵南县| 曲沃县| 澄迈县| 荥阳市| 娱乐| 甘孜| 建平县| 高陵县| 界首市|