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为对象,且该对象有三个属性,则循环体内的代码执行三次;

 

本文出自 “太湖的水” 博客,谢绝转载!

你可能感兴趣的:(JavaScript,基础,职场,休闲)