javascript基礎

說明: 如下內容來自互連網相關資料文檔,內容不斷更新;
  • json:
 JavaScript Object Notation  javascript對象符號,形式以下:
var cat = {
    color:'black',
    age:'10',
    getAge:function(){
       alet('myCat age =' + age);
    }
}
這裏建立了一個對象的引用,而且定義了兩個屬性和一個方法;
在javascript中,fuction也是一個對象,能夠看成參數傳給另外的fuction,如:
var myDog = {
	bark: function(){
		alert('I am a dog!');
	}
};
var myCat = {
	meow: function(){
		alert('I am a cat!');
	}
};
 
function test(testFunction){  
	testFunction();
}
test(myDog.bark); // I am a dog!
test(myCat.meow); // I am a cat!
注意:當fuction當作參數傳遞時,後面不能帶();fuction後面帶()表示執行該fuction;
 
關於數組的定義和使用:
var a = new Array();
var b = [];
var c = ['first', 'second', 'third'];
var v1 = c[0];
var v2 = c[1];
var v3 = c[2];
//也能夠不使用數字做爲數組的序號,如:
var obj = {}   //建立空的對象;
obj['number_1'] = 'this is String value;'
obj['some_function'] = function(){ /* do something */};
//上面的代碼和下面的代碼等同:
var obj = {
    number_1:'this is String value;',
    some_fuction:fuction(){/* do something */};
}
//下面的兩種寫法有相同的效果:
obj.some_fuction();
obj['some_fuction']();	
  • 隱含參數:arguments
  該對象表明正在執行的函數和調用它的函數的參數,屬於執行函數時建立的隱含對象,它具備數組同樣的 訪問性    質和方式,但不屬於數組的對象 ,它存儲的是實際傳遞給函數的參數,而不是函數定義的參數列表;
 如:函數:定義函數Test(a,b,c),直接調用:Test('參數1','參數2')
        則:
arguments.length = 2     arguments[0] = '參數1'   arguments[0] = ' 參數2'
                Test.length = 3
  • caller
   返回調用該函數的函數的引用,若是由頂層調用,則返回null;
  如:定義函數:
            A(){
                A.caller
                };  
            B(b){ A() };
    則在執行B函數時,B調用了A函數,A.caller則返回B函數的引用;
  • callee  :  用法:arguments.callee
    返回正被執行的 Function 對象
    callee擁有 length屬性,這個屬性有時候用於驗證仍是比較好的。 arguments.length是實參長度, arguments.callee.length是形參長度,由此能夠判斷調用時形參長度是否和實參長度一致
  • call/apply:
    函數綁定到另一個對象上去運行,二者僅在定義參數方式有所區別
  apply (thisArg,argArray);
    call (thisArg[,arg1,arg2…] ]);
  沒有提供 thisArg 參數,那麼 Global 對象被用做 thisArg
 用 call apply 應用另外一個函數(類)之後,當前的函數(類)就具有了另外一個函數(類)的方法或者是屬性,這也能夠稱之爲「繼承」;
  call(apply)方法可將一個函數的對象上下文(Function Context)從初始的上下文改變爲由 thisObj 指定的新對象;
   如:
   var changed={ item:"banana", act: "eating" };
var original={
        item: "chair",
 act: "sitting in",
 ask: function(){
  return "who's been "+this.act+" my "+this.item;
 }
};
original.ask();    == who's been sitting in my chair;
original.ask.call(changed)   ==  who's been eating in my banana;
  • for…in 語句:
    用來循環訪問一個數組的每個元素或一個對象的各個屬性值的,且循環體中的代碼    對每個元素或屬性執行一次;     如:     for(var x in object){           alert('test');     }     其中object爲對象,且該對象有三個屬性,則循環體內的代碼執行三次;
相關文章
相關標籤/搜索