属性的特性 每个对象都拥有属性,属性具有哪些特性呢? 1.属性具有值.  2.属性是否是可写的.            3.是否是可枚举的.            4.是否是可配置的.   "use strict";//使用严格模式 var descriptor = Object.getOwnPropertyDescriptor({ x: 1 }, "x");//获取匿名对象的值 alert("value:" + descriptor.value…
eval eval(parse) parse :里面跟参数字符串,我们知道执行javascript 会编译执行,    改变全局变量的值: var x = 2; //定义的全局变量 alert(x);//2 var g = eval("x=3"); //eval 会根据当前上下文解析x alert(x);//3    在全局作用域引用eval,改变全局作用域的值,不改变局部作用域的值 var g = eval; //全局引用eval var x = "global"…
String 我们知道javascript 包括:number,string,boolean,null,undefined 基本类型和Object 类型. 在我的认知中,方法属性应该是对象才可以具有的. var str="hello,world"; var s=str.subString(1,4);//ell alert(typeof(str)+":"+typeof(s));//string:string           从上面的返回类型来看,str是strin…
大纲 Function Caller 返回函数调用者 Callee 调用自身 作用域 闭包 function 函数格式 function getPrototyNames(o,/*optional*/ a) { a = a || []; for(var p in o) { a.push(p); } return a; } caller func.caller 返回函数调用者 function callfunc() { if(callfunc.caller) { alert(callfunc.cal…
in in 判断  左边 的字符串或者能转换成字符串的是否属于 右边 的属性. var data = { x: 1, y: 4 };//定义了直接对象 alert("x" in data);//true ,x 是data 的一个属性 alert(1 in data);//false ,1 是data的属性值. var arr = [4, 5, 7];//定义了直接数组对象 alert(0 in arr);//true ,arr 数组的index包括0,1,2,0 是他的一个[0]属性.…
对象继承inherit var o = { r: 1 }; var c = function f() { }; c.prototype = o; c.r = 3; alert(o.r);//被继承的属性值未发生改变. alert(c.r);//c中r覆盖了o中的属性.     如何调用o中的r属性呢. var o = { r: 1 }; var c = function f() { }; c.prototype = o; alert(o.r);//1 被继承的属性值未发生改变. alert(c.…
string和number boolean javascript 类型会根据赋值的进行转成相应的类型. var str = ""; alert(typeof (str));//string str = 5; alert(typeof (str));//number var sum = str + 5; //+编程两个数字相加 alert(sum);//10       这一种比较明显,一眼就可以计算出其值.但是请看下面这种转换 var sum = "7" + &qu…
null null 表示个“空” , 使用typeof (null) ;//Object ; 说明他是一个特殊的对象. null 类型只自己唯一个成员.他是不包含属性和方法的. undefined undefined 同样也是表示"空", 使用typeof (undefined) ;//undefined ;说明他是undefined类型的. undefined 类型只包含自己一个成员,他不包含属性和方法的. summary null 和 undefined 在莫种意义上可以一样 ,比…
大纲 Array join reverse反转 sort排序 concat 拼接 slice splice 数组 //定义数组 var a = []; //使用Array定义一个数组, var a1 = new Array(1); //模仿多维数组 a1[0] = new Array(1); a1[0][0] = 1; a.push(1);//添加数组 alert(0 in a);//true var b = a.pop();//读出元素,并删除a数组元素. alert(0 in a);//fa…
call  每个func 都会继承call apply等方法. function print(mesage) { console.log(mesage); return mesage; } print.call(this, "cnblogs");//cnblogs call(thisAgr,agr1,agr2...) ,call方法第一个传递一个context上下文.后面是参数的个数. apply apply(thisAgr,[agr1,agr2]),apply方法和call的用法一样…