最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js中function()使用方法

 更新時間:2013年12月24日 15:29:52   作者:  
通過函數(shù)對象的性質,可以很方便的將一個函數(shù)賦值給一個變量或者將函數(shù)作為參數(shù)傳遞,下面為大家介紹下函數(shù)的使用語法
javascript 函數(shù)不同于其他的語言,每個函數(shù)都是作為一個對象被維護和運行的。通過函數(shù)對象的性質,可以很方便的將一個函數(shù)賦值給一個變量或者將函數(shù)作為參數(shù)傳遞。在繼續(xù)講述之前,先看一下函數(shù)的使用語法:

以下是引用片段:
function func1(…){…}
var func2=function(…){…};
var func3=function func4(…){…};
var func5=new Function();
復制代碼 代碼如下:

<script type="text/javascript">

// 1, 方法調用模式
// 當一個函數(shù)被保存為對象的一個屬性時,我們稱之它為該對象的一個方法,那么this被綁定到該對象上
var myObject={
name : "myObject" ,
value : 0 ,
increment : function(num){
this.value += typeof(num) === 'number' ? num : 0;
return this;
} ,
toString : function(){
return '[Object:' + this.name + ' {value:' + this.value + '}]';
}
}
alert(myObject.increment(10).increment(20).toString()); // [Object:myObject {value:30}]


// 2, 函數(shù)調用模式
// 當一個函數(shù)并非一個對象的函數(shù)時,那么它被當作一個函數(shù)來調用,this被綁定到全局對象上。這是語言設計的一個錯誤。倘若語言設計正確,當內部函數(shù)調用時,this應該仍然綁定到外部函數(shù)的this變量上
var myObject={
name : "myObject" ,
value : 0 ,
increment : function(num){
this.value += typeof(num) === 'number' ? num : 0;
return this;
} ,
toString : function(){
return '[Object:' + this.name + ' {value:' + this.value + '}]';
},
getInfo: function(){
var self=this;
return (function(){
//return this.toString(); // 內部匿名函數(shù)中this指向了全局對象window, 輸出 [object Window]
return self.toString(); // 定義一個變量selft并給它賦值為this,那么內部函數(shù)通過該變量訪問到指向該對象的this
})();
}
}
alert(myObject.increment(10).increment(20).toString()); // [Object:myObject {value:30}]


// 3, 構造器調用模式
// JavaScript是一門基于原型繼承的語言, 這意味著對象可以直接從其他對象繼承屬性, 該語言是無類別的。
// 如果一個函數(shù)前面帶上new來調用,那么將創(chuàng)建一個隱藏連接到該函數(shù)的prototype成員的新對象,同時this將會被綁定到構造函數(shù)的實例上。
function MyObject(name){
this.name = name || 'MyObject';
this.value=0;
this.increment = function(num){
this.value += typeof(num) === 'number' ? num : 0;
};
this.toString = function(){
return '[Object:' + this.name + ' {value:' + this.value + '}]';
}
this.target = this;
}

MyObject.prototype.getInfo = function(){
return this.toString();
}

// 同時創(chuàng)建一個MyObject.prototype對象,myObject繼承了MyObject.prototype的所有的屬性, this綁定到了MyObject的實例上

var myObject = new MyObject();
myObject.increment(10);
alert(myObject.value); //10

var otherObject = new MyObject();
otherObject.increment(20);
alert(otherObject.value); //20

alert(myObject.target===myObject); // ture
alert(myObject.target.getInfo()); // [Object:MyObject {value:10}]


// 4, Apply 調用模式
// JavaScript是一門函數(shù)式的面向對象編程語言,所以函數(shù)可以擁有方法。 函數(shù)的apply方法,如同該對象擁有此方法,此時this指向該對象。
// apply接收兩個參數(shù),第一個是要綁定的對象(this指向的對象),第二個是參數(shù)數(shù)組.
function MyObject(name){
this.name = name || 'MyObject';
this.value = 0;
this.increment = function(num){
this.value += typeof(num) === 'number' ? num : 0;
};
this.toString=function(){
return '[Object:'+this.name+' {value:'+this.value+'}]';
}
this.target=this;
}
function getInfo(){
return this.toString();
}
var myObj = new MyObject();
alert(getInfo.apply(myObj)); //[Object:MyObject {value:0}], this指向myObj
alert(getInfo.apply(window)); //[object Window], this指向window


// for and while
function func(a,b){
alert(a); // 1
alert(b); // 2

for(var i=0;i<arguments.length;i++){
alert(arguments[i]); // 1, 2, 1, 2, 3
}

var i=0;
while(i<arguments.length){
alert(arguments[i]); // 1, 2, 1, 2, 3
i=i+1;
}
}
func(1,2,3);

var i=0
for (i=0;i<=10;i++) {
document.write("The number is " + i + "<br/>")
}

</script>

相關文章

  • uniapp抖音小程序一鍵獲取用戶手機號的示例代碼

    uniapp抖音小程序一鍵獲取用戶手機號的示例代碼

    文章介紹了如何在uniapp抖音小程序中通過點擊按鈕一鍵獲取用戶手機號,encryptedData和iv通過點擊按鈕回傳,后端部分通過解密獲取手機號,感興趣的朋友一起看看吧
    2024-12-12
  • 移動端點擊圖片放大特效PhotoSwipe.js插件實現(xiàn)

    移動端點擊圖片放大特效PhotoSwipe.js插件實現(xiàn)

    這篇文章主要為大家詳細介紹了移動端點擊圖片放大特效PhotoSwipe.js插件實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 使用javascript實現(xiàn)頁面加載loading動畫(附完整源碼)

    使用javascript實現(xiàn)頁面加載loading動畫(附完整源碼)

    由于項目中多處要給ajax提交的時候增加等待動畫效果,所以就寫了一個簡單的通用js方法,這篇文章主要給大家介紹了關于如何使用javascript實現(xiàn)頁面加載loading動畫的相關資料,需要的朋友可以參考下
    2024-06-06
  • js實現(xiàn)時間日期校驗

    js實現(xiàn)時間日期校驗

    這篇文章主要為大家詳細介紹了js實現(xiàn)時間日期校驗,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • 開發(fā)中常用的25個JavaScript單行代碼(小結)

    開發(fā)中常用的25個JavaScript單行代碼(小結)

    這篇文章主要介紹了開發(fā)中常用的25個JavaScript單行代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • 微信小程序新手入門之自定義組件的使用

    微信小程序新手入門之自定義組件的使用

    最近在用自定義組件搭建小程序,簡單記錄下步驟,所以這篇文章主要給大家介紹了關于微信小程序新手入門之自定義組件使用的相關資料,需要的朋友可以參考下
    2021-05-05
  • JS數(shù)組去重的九種高階方法(親測有效)

    JS數(shù)組去重的九種高階方法(親測有效)

    這篇文章主要給大家介紹了關于JS數(shù)組去重的九種高階方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • 細品javascript 尋址,閉包,對象模型和相關問題

    細品javascript 尋址,閉包,對象模型和相關問題

    似乎某些程序員的集合是不相交的,就好像JS程序員和玩編譯原理和CPU指令的匯編程序員就幾乎沒有交叉。前些日子討論的火熱的“作用域鏈”問題,說白了就是尋址問題,不過,這個在C中十分簡單的問題卻被JS這個動態(tài)語言弄得很復雜。
    2009-04-04
  • js實現(xiàn)簡單的選項卡效果

    js實現(xiàn)簡單的選項卡效果

    本文主要介紹了js實現(xiàn)簡單的選項卡效果的示例代碼,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • JavaScript學習點滴 call、apply的區(qū)別

    JavaScript學習點滴 call、apply的區(qū)別

    對于apply和call兩者在作用上是相同的,但兩者在參數(shù)上有區(qū)別的。
    2010-10-10

最新評論

仁寿县| 科尔| 襄城县| 宝应县| 炉霍县| 土默特左旗| 大石桥市| 新余市| 武山县| 凤城市| 苏尼特左旗| 滕州市| 鄂州市| 封丘县| 蒙城县| 康马县| 鄂伦春自治旗| 九龙县| 秭归县| 龙泉市| 龙井市| 桦南县| 前郭尔| 宜兰县| 东乡族自治县| 高平市| 伽师县| 潢川县| 广灵县| 贵州省| 项城市| 读书| 黄龙县| 阳朔县| 绥芬河市| 崇文区| 琼海市| 宝坻区| 沂水县| 平乡县| 济宁市|