Javascript中的所有变量
都是对象,除了两个异常null和未定义的。
复制代码代码如下所示:
(假。toString); / /假
{ 1, 2,(3 } ToString); / / '1,2,3
函数(富){ }
foo.bar = 1;
foo.bar / / 1;
一个常见的误解是字符数(文字)不是一个对象,这是由于Javascript解析器中的一个
错误,它试图解析浮点
运算符作为浮点数字面值的一部分。
复制代码代码如下所示:
(2。toString); / /错误:
查询 有很多
方法可以使数字的脸看起来像一个物体。
复制代码代码如下所示:
(2。toString); / /二点可以正常解析
2(ToString);在盒子前面 / /注数
(2),ToString(2); / /计算
U3000
对象作为数据
类型 Javascript的对象可以用作哈希表,主要用于
保存指定键和值之间的对应关系。
使用对象文字语法{ }你可以
创建一个简单的物体,这个新创建的对象是从object.prototype继承,没有任何自定义
属性。
复制代码代码如下所示:
var;};一个空对象
/ /一个新的对象,有of'test 12自定义属性值
var = {测试:12 };
访问属性
有两种方法访问对象的属性、点运算符或括号运算符。
复制代码代码如下所示:
变量foo = {姓名:'kitten}
foo.name; / /小猫
foo { 'name' }; / /小猫
无功得到= 'name';
{ };
foo.1234; / /查询
foo { '1234}; / /作品
这两种语法是等价的,但是中间括号
操作符在下面两种
情况下仍然有效。动态
设置属性属性名不是有效的变量名。(例如,属性名包含空格,或者键是js的关键字)。
译者注:在JSLint语法
检测工具,点运算符是
推荐的做法。
删除属性
删除属性的惟一方法是使用删除操作符。将属性设置为未定义或NULL并不真正删除属性,但只删除属性和值之间的相关性。
复制代码代码如下所示:
十四
var obj = { {
酒吧:1,
美孚:2,
Baz:3
};
obj.bar =定义;
obj.foo = null;
删除obj.baz;
(我在为var obj){
如果(obj.hasownproperty(I)){
console.log(我,' + obj {我});
}
}
上面的输出结果栏定义,foo空只有Baz才是真正的删除,所以它消失从输出。
属性名称的语法。
复制代码代码如下所示:
var测试{ {
例:我是一个关键字,所以我必须表示为一个,
删除:我一个关键词太我 / /错误:查询
};
一个对象的属性的名称可以用一个字符串或一个共同的特征表示。但由于对Javascript解析器的另一个错误的设计,上述二声明将抛出一个SyntaxError错误之前ECMAscript 5。
这个错误的
原因是,删除是Javascript
语言中的一个关键词。因此,为了在Javascript引擎的较低版本下
运行良好,必须使用字符串字面声明。