先看一段**,請問alert的值是多少呢?
1function fn();
4 let obj =]16
};17 let a =5;
18 obj.c[0].c();
結果是3。
this代表作用域的值,通俗的理解,就是當前的方法屬於誰,this就指向誰。
obj.c[0].c();這行**首先呼叫了obj物件中 屬性c的值 而c是又乙個陣列物件
然後,呼叫了c的第乙個陣列,而這個陣列為c[0]建立了三個屬性。
然後,呼叫c[0].c()方法
這個時候,c()屬於c[0]的方法
所以,this指向的是c[0]
所以,this.a指的是3
看下面這個例子
functionfn();
let obj =,]
};let a =5;
obj.c[1].c();
結果是4。
結果印證了上面的
this指向的是c[1]所以,this.a指的是4。
重要的話再說一遍
this代表作用域的值,通俗的理解,就是當前的方法屬於誰,this就指向誰。
你記住了嗎?
JS中陣列的運用
首先第一步需要的是建立乙個陣列 varshuzu1 new array 如果需要指定它的長度就要在括號內加 size 來指定陣列的長度,如果要賦值的話就要在括號裡不斷地疊加中括號然後賦值 shuzi0 shuzi1 shuzin 第二是陣列元素的訪問 首先獲取元素值var yuansuzhi arr...
js中位運算的運用
原文 js中位運算的運用 我們可能很少在程式設計中用位運算,如果沒深入學習,可能也很難理解。平時的數值運算,其實是要先轉換成二進位制再進行運算的,而位運算就是直接進行二進位制運算,所以位運算的執行效率肯定是更高的。下面通過一些例項來加深對位運算的理解。運算子我們都知道,只有兩個都為真,結果才為真。道...
js中位運算的運用
原文 js中位運算的運用 我們可能很少在程式設計中用位運算,如果沒深入學習,可能也很難理解。平時的數值運算,其實是要先轉換成二進位制再進行運算的,而位運算就是直接進行二進位制運算,所以位運算的執行效率肯定是更高的。下面通過一些例項來加深對位運算的理解。運算子我們都知道,只有兩個都為真,結果才為真。道...