You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
JavaScript中简单类型包括数字、字符串、布尔值、null值和undefined,其他所有的值都为对象(数组是对象,函数是对象,正则表达式是对象,对象当然也是对象) var empty_object={}; var stooge={ "first-name":"xxx", "last-name:"xxx" }
在对象字面量中,如果属性名是一个合法的JavaScript标识符且不是保留字,并不强制要求用引号括住属性名。所以用引号括住“fisrt-name”是必须的,是否括住first_name才是可选的了
对象通过引用来传递。它们永远不会被拷贝。
var x=chouchou;
x.nickname='huang';
var nick=chouchou.nickname;
//因为x和chouchou是指向同一个对象的引用,所以nick也为'huang'
var a={},b={},c={};
//a,b,c每个都引用不同的空对象。
a=b=c={};
//a,b,c都引用同一个空对象。
5.原型(prototype)
每一个对象都连接到一个原型对象,并且它可以从中继承属性,所有通过对象字面量创建的对象都连接到Object.prototype这个JavaScript的标准对象。
if(typeof Object.create !== 'function') {
Object.create =function (o) {
var F=function () {};
F.prototype=o;
return new F();
}
}
var another_chouchou=Object.create(chouchou);
for in 语句可用来遍历一个对象中所有的属性名。该枚举过程将会列出所有的属性,包括函数和你可能不关心原型链中的属性。所以我们需要过滤,常用的过滤器是hasOwnProperty以及typeof来排除函数。 属性名出现顺序不确定,要以确定的顺序应创建一个数组,在其中以正确的顺序包含属性名。 var i;
var properties=[
'fistr-name',
'middle-name',
'last-name'
'profession'
];
for(i = 0; i < properties.length;i +=1 ){
document.writeln(properties[i]+':'+
another[propertites[i]]);
}
var MYAPP={};
MYAPP.name={
"first-name":"xxx",
"last-name":"xxxx"
};
第4章函数
1.函数对象
函数就是对象,对象字面量产生的对象连接到Object.prototype,函数对象连接到Function.prototype,函数对象有prototype属性,它的值就是一个拥有constructor属性且为改函数的对象(尼玛,还能再绕点吗),看代码理解
function get(){}
get.prototype.constructor===get
第二章:语法
1.标识符
2.数字
3.字符串
4.语句
if([]){
alert(true);//output true
} else{
alert(false);
}
return {
name:'test'
}
for(myvar in obj){
if(object.hasOwnProperty(myvar)){
###.....
}
}
5.表达式
6.字面量
第3章
1.对象字变量
2.检索
3.更新
4.引用
5.原型(prototype)
6.反射
7.枚举
8.删除
9.减少全局变量污染
var MYAPP={};
MYAPP.name={
"first-name":"xxx",
"last-name":"xxxx"
};
第4章函数
1.函数对象
2.函数字面量
3.调用
The text was updated successfully, but these errors were encountered: