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

首頁 > 編程 > JavaScript > 正文

JavaScript中的this機制

2019-11-20 10:39:21
字體:
來源:轉載
供稿:網友

JavaScript有自己的一套this機制,在不同情況下,this的指向也不盡相同。

全局范圍

console.log(this); //全局變量

全局范圍使用this指向的是全局變量,瀏覽器環境下就是window。

注:ECMAScript5的strict模式不存在全局變量,這里的this是undefined。

函數調用中

function foo() {  console.log(this);}foo(); //全局變量

函數調用中的this也指向全局變量。

注:ECMAScript5的strict模式不存在全局變量,這里的this是undefined。

對象方法調用

var test = {  foo: function () {    console.log(this);  }}test.foo(); //test對象

對象方法調用中,this指向調用者。

var test = {  foo: function () {    console.log(this);  }}var test2 = test.foo;test2(); //全局變量

不過由于this的晚綁定特性,在上例的情況中this將指向全局變量,相當于直接調用函數。

這點非常重要,同樣的代碼段,只有在運行時才能確定this指向

構造函數

function Foo() {  console.log(this);}new Foo(); //新創建的對象console.log(foo); 

在構造函數內部,this指向新創建的對象。

顯式設置this

function foo(a, b) {  console.log(this);}var bar = {};foo.apply(bar, [1, 2]); //barfoo.call(1, 2); //Number對象

使用Function.prototype的call或者apply方法是,函數內部this會被設置為傳入的第一個參數。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄梅县| 崇阳县| 昔阳县| 青铜峡市| 敖汉旗| 东山县| 横峰县| 旅游| 博兴县| 元朗区| 临安市| 临澧县| 时尚| 承德市| 巴彦县| 夹江县| 仪征市| 镇江市| 泾川县| 资兴市| 洪湖市| 永昌县| 北流市| 鹤峰县| 林芝县| 抚顺市| 徐闻县| 凤翔县| 盐源县| 布尔津县| 伊宁县| 广河县| 深水埗区| 松潘县| 邵阳县| 汉沽区| 城步| 临西县| 宜丰县| 三门县| 游戏|