|
導讀網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立... 網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立在超文本基礎之上的。超級文本標記語言之所以稱為超文本標記語言,是因為文本中包含了所謂“超級鏈接”點。 本篇文章給大家帶來的內容是關于JS中this指向的幾種函數調用方法的介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。初學javascript總會對this指向感到疑惑,想要深入學習javascript,必須先理清楚和this相關的幾個概念。javascript中this總是指向一個對象,但具體指向誰是在運行時根據函數執行環境動態綁定的,而并非函數被聲明時的環境。除去不常用的with和eval的情況,具體到實際應用中,this指向大致可以分為以下4種。 作為對象的方法調用當函數作為對象的方法被調用時,this指向該對象: var person = {
name: 'twy',
getName: function() {
console.info(this === person); // 輸出true
console.info(this.name); // 輸出twy
}
}
person.getName();作為普通函數調用當函數作為普通的函數被調用時,非嚴格模式下this指向全局對象: function getName(){
// 非嚴格模式
console.info(this === window); // 瀏覽器環境下輸出true
}
getName();嚴格模式下this為undefined: function getName(){
// 嚴格模式
"use strict"
console.info(this === window); // 輸出false
}
getName();構造器調用當new一個對象時,構造器里的this指向new出來的這個對象: function person(){
// 構造函數
this.color = 'white';
}
var boy = new person();
console.info(boy.color); // 輸出whitecall或apply調用用 // 聲明一個父親對象,getName方法返回父親的名字
var father = {
name: 'twy',
getName: function(){
return this.name;
}
}
// 生命一個兒子對象,但是沒有返回名字的功能
var child = {
name: 'chy'
}
console.info(father.getName()); // 輸出twy
// 使用call或apply將father.getName函數里this指向child
console.info(father.getName.call(child)); // 輸出chy
console.info(father.getName.apply(child)); // 輸出chy以上就是JS中this指向的幾種函數調用方法的介紹的詳細內容,更多請關注php中文網其它相關文章! 網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。 |
溫馨提示:喜歡本站的話,請收藏一下本站!