免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

js函數和this用法實例分析

本文實例講述了js函數和this用法。分享給大家供大家參考,具體如下:

專業從事成都做網站、成都網站制作,高端網站制作設計,微信小程序,網站推廣的成都做網站的公司。優秀技術團隊竭力真誠服務,采用html5+CSS3前端渲染技術,成都響應式網站建設公司,讓網站在手機、平板、PC、微信下都能呈現。建站過程建立專項小組,與您實時在線互動,隨時提供解決方案,暢聊想法和感受。

js的所有代碼都是由funtion組成,funtion即函數的類型。

一.函數有兩種寫法

-----1.定義式

function test() { //定義一個函數
    console.log("function test called!!");
}

-----2.變量式

var test2 = function () {
    console.log("var test2 function called!!");
};

我們可以調用typeof()查看類型

var type = typeof(test2);
console.log(type); //function

二.函數也是對象

-----1.函數既然是對象,即就可以有屬性和功能。函數也可以動態的增加屬性,如下:

function test() {
    console.log("function test() called!!!");
}
test.user_name = "zhangsan";
console.log(test.user_name); //zhangsan

三.函數的實例化

    函數的實例化也有兩種方式:

---------1.直接在函數名后面加上"()"         @@@@@常用這種方式

function test() {
    console.log("function test() called!!!");
}
test(); //function test() called!!!

---------2.使用關鍵字"new"進行實例化

function test() {
    console.log("function test() called!!!");
}
new test(); //function test() called!!!

四.this機制

//=====================this機制==================
function my_func(rhs, lhs) {
    console.log(this, rhs, lhs);
}
 
//顯示不確定的this
//my_func(); //console顯示
 
//--------------顯示傳遞this-----------
//函數名.call(this,參數...) 顯示傳遞this
my_func.call({ 0: "jade" }, 2, 3);
//------------------------------------
 
var tools = {
    my_func: my_func,
};
 
//表.key() --->this是表
tools.my_func(2, 3); //this是tools
// 相當于
tools.my_func.call(tools, 2, 3);
 
//強制綁定this,優先級最高
//函數.bind,不會改變原來函數對象的this,而是會產生一個新的臨時的對象
//bind好了this
var new_func = my_func.bind({ name: "jade" });
new_func(3, 4);
 
tools.my_func = new_func;
tools.my_func(3, 4); //this是表{name:"jade"}
my_func(3, 4); //this不變,consloe
 
//====call與bind有什么區別呢?==
//bind最牛的地方是什么?是綁定this的時候,
//不是由調用者來決定的
 
new_func.call({ 0: 1 }, 3, 4); //this還是表{name:"jade"},不是{0:1}
 
//==================總結=============================
//在函數里面訪問this,this是由調用的環境來決定的,不確定,一般不使用
//1.顯示的傳遞this,函數.call(this對象,參數)
//2.隱式的傳遞this,表.key_函數(參數),this---》表
//3.bind優先級別是最高的

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容可查看本站專題:《JavaScript常用函數技巧匯總》、《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

新聞標題:js函數和this用法實例分析
分享網址:http://m.newbst.com/article44/jegohe.html

成都網站建設公司_創新互聯,為您提供網站排名電子商務域名注冊手機網站建設虛擬主機企業建站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

商城網站建設