麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

解析JavaScript中的不可見數(shù)據(jù)類型

2019-11-20 21:32:35
字體:
供稿:網(wǎng)友

JS提供了一些內(nèi)置對象、函數(shù)和構(gòu)造器供我們編程,如Math、parseInt、Object、Array等。這些都是可見的,編程時可以使用的。比如我可以new Object 或 new Array。

有一些則是不可見的,這些對象只能由引擎在特殊的情形提供。這些類型的對象往往還被消減了一些功能。下面列舉一些

一、Arguments 類型
Arguments 類型 不能由程序員手動創(chuàng)建其對象,即你不能 new Arguments() 。 它有且僅有一個對象arguments

復(fù)制代碼 代碼如下:

function func() {
    console.log(arguments[0])     // 1
    console.log(arguments.length) // 3
}
func(1, 2, 3)

arguments對象是在函數(shù)調(diào)用的時候創(chuàng)建的,只在函數(shù)內(nèi)部可見和使用。可以看到arguments很象Array,可以按索引取元素,也有l(wèi)ength屬性。但它不是Array,它沒有Array的有一些方法比如push、pop等。Arguments 在ES5 10.6 里定義。

二、bind返回的函數(shù)很特殊
bind是ES5給Function.prototype新增的一個方法,它和call/apply一樣在function上直接調(diào)用。它返回一個指定了上下文和參數(shù)的函數(shù)。

復(fù)制代碼 代碼如下:

function func(age) {
    console.log('name: ' + this.name + ', career: ' + age)
}
var person = {name: 'John McCarthy'}
var f1 = func.bind(person, 'computer scientist')
f1() // name: John McCarthy, career: computer scientist

可以看到返回的函數(shù)f1和普通函數(shù)一樣使用小括號執(zhí)行調(diào)用了。 一切正常,但下面的代碼會讓你大跌眼鏡
復(fù)制代碼 代碼如下:

function func(age) {
    console.log('name: ' + this.name + ', career: ' + age)
}
var person = {name: 'John McCarthy'}
var f1 = func.bind(person, 'computer scientist')
console.log(f1.prototype) // undefined

和上面代碼比較,就最后一句不同,沒有執(zhí)行f1(),而是打印出f1.prototype,發(fā)現(xiàn)是undefined。

奇怪嗎? 每個function不都有一個prototype屬性嗎,這是用來實現(xiàn)原型繼承的哦。的確,bind返回的function比較特殊,它沒有prototype。這種特殊的函數(shù)是由JS引擎創(chuàng)建的,客戶端程序員沒法通過函數(shù)聲明或函數(shù)直接量得到。

這一點在規(guī)范里有明確提示 ES5 15.3.4.5

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产成人自拍视频在线观看 | 天天都色| 在线成人一区二区 | 国产1区2区3区中文字幕 | 欧美18一19sex性护士农村 | 午夜视频久久久 | 最近中文字幕一区二区 | 国产午夜精品一区二区三区免费 | 成人午夜免费福利 | 黄视频网站免费在线观看 | 亚洲国产资源 | 毛片免费观看日本中文 | 欧美一区二区三区久久精品视 | 欧美成人一区免费视频 | 午夜视频在线 | 精精国产xxxx视频在线播放7 | 污版视频在线观看 | 成人精品久久 | 午夜视频免费播放 | 一区二区三区视频在线观看 | www亚洲| 欧美久久久一区二区三区 | 国产精品久久久久久久久久久天堂 | 成人在线视频播放 | 蜜桃久久一区二区三区 | xxxx欧美视频 | 九九视屏| 国产一国产一级毛片视频在线 | 亚洲最大久久 | 国产午夜精品一区二区三区视频 | 中文字幕专区高清在线观看 | 亚洲第五色综合网 | 久久精品观看 | 精品亚洲夜色av98在线观看 | 私库av在线免费观看 | 青青草在线免费观看 | 欧洲成人一区二区 | 免费观看黄视频 | 黄色一级片在线观看 | 在线看成人av| www.777含羞草 |