全域性中的this就是window物件
var box=document.getelementbyid("box");
box.onmouseover=function()
con
//con
在非嚴格模式下瀏覽器中執行,this指的是window
在非嚴格模式node互動介面中,this指的是預設暴露出的模組
在非嚴格模式node的js檔案中,this指的是global物件
(function())()
// 在嚴格模式下this為undefined (嚴格模式下函式呼叫時省略window)
(function())()
//函式.call()會直接呼叫該函式,並且call中的第0個引數就是函式執行中的this,後面的引數是函式執行時的引數
function fn(m,n)
fn.call(,2,3); //1 2 3
//函式.bind()會返回乙個新的函式,新函式的引數就是原函式執行中的this,這個新函式不會立即執行,this被修改,但是只能被修改一次
function fn()
var fn1=fn.bind();
fn1(); //2
與定義時環境中的this一樣,bind和call不能修改其內部this指向
var fn=()=>
fn();//window
var box=document.getelementbyid("box");
box.onclick=function(),1500)
}
全域性中定義箭頭函式this為window物件
fn=()=>
fn();//window
物件內部定義的箭頭函式this指向window
因為歸根到底,obj物件也是在全域性中定義的,但是普通的函式就指向物件本身了,因為普通函式被誰呼叫,this就指向誰
物件內部的函式返回箭頭函式
物件呼叫物件內部的函式時,this指向該物件
var obj1=
}obj1.fn1(); //obj
obj1.fn1.bind()(); //zds
但是如果後續新增的函式是箭頭函式,this指向還是遵循箭頭函式在哪定義,this就指向誰
var obj2=;
//全域性定義乙個箭頭函式fn3
var fn3=()=>
obj2.fn3=fn3;
obj2.fn3(); //window
多層巢狀物件中的函式呼叫時,this指向為「就近原則」
var obj3=
},}obj3.y.fn1();//y物件
var temp=obj3.y.fn1;
temp();//window
function person(name,age);
}var p1=new person('朱東帥',22);
console.log(p1);
var p=
}var c=object.create(p); //以p為模板建立乙個新的物件
console.log(c);
console.log(c.a); //如果乙個物件上沒有某個屬性或者方法時,它會隨著原型鏈__proto__去找
console.log(c.__proto__); //p物件
console.log(p.__proto__); //js內建物件
c.fn(); //1
var obj=,
set sum(z)
}console.log(obj.sum);
DAPP超詳細解釋
什麼是eth?eth就是核心開發者為了應對黑客盜取以太幣,從而呼籲分叉出的新鏈。相比於舊鏈etc,eth雖然違背了不可撤銷的誓言,但是它更靈活 更容易擴充套件和進化,因此所能承載的應用更多。把以太坊看成虛擬機器,也就是evm,相當於裸機,而eth是基於區塊鏈技術構建出來的類似android系統的開發...
js原型鏈詳細解釋
說到原型鏈不得不提到建構函式,任何乙個物件都是由建構函式new出來的,其建構函式通過new來使用,作用是例項化物件。原型 任何乙個函式都有乙個prototype屬性。下圖就是建構函式,例項化,原型的關係圖。1.建構函式通過.prototype找到原型上的屬性和方法。2.例項化的物件能通過 proto...
JS獲取各種寬度,高度解釋
紅色是大塊的邊框,藍色是小塊的邊框,藍框外白色區域是大塊的 padding 或 和 小塊的 margin 或其他元素或其他原因造成的空白。obj.offsettop 指 obj 相對於版面或由 offsetparent 屬性指定的父座標的計算上側位置,整型,單位畫素 obj.offsetleft 指...