做为参数传入函数用null.javascript
<script>
var s="text"; //建立一个字符串
s.len=4; //给他设置一个属性
var t=s.len;
alert(t);
</script>java
运行的时 t 的值为undefined. 正则表达式
第二行代码建立了一个临时的字符串对象,并给其len属性赋值为4,随即销毁这个对象。数组
var s="hello world !"; //一个字符串函数
var word=s.substring(s.indexOf(" ")+1,s.length); //使用字符串的属性spa
字符串不是对象怎么会有属性?只要引用了字符串s的属性,javascript就会将字符串值经过new String(s)的方法换成对象,这个对象继承了字符串的方法,并用来处理属性的引用。一旦属性引用结束,这个新建立的对象就会销毁。prototype
对象:对象
除了字符串、数字、true 、false、null和undefined以外javascript中的值都是对象。继承
对象是可变的,咱们经过引用而非值来操做对象。若是变量x是指向一个对象的引用,那么执行 var y=x;ip
变量y的值也指向同一个引用, 经过变量y的修改,这个对象对变量x也会形成影响。
属性特性:
writable : 代表是否能够设置该属性的值。
enumerable:代表是否能够经过for/in循环返回该属性
configurable:代表是否能够删除或修改该属性。
对象特性:
对象的特性(prototype)指向另一个对象,本对象的属性继承自它的原型对象。
对象的类(class)是一个标识对象的字符串。
对象的扩展标记(extensiable flag)指明了是否能够向该对象添加新属性。
三类javascript对象:
内置对象(native object)数组、函数、日期、正则表达式。
宿主对象(host object)是javascript解释器所嵌入的宿主环境。客户端 javascript 中表示网页结构THMLElement对象均是宿主对象
自定义对象(user-defined object)是由运行中的javascript代码建立的对象。
两个属性:
自有属性(own property)是直接在对象中定义的属性。
继承属性(inherited property)是在对象的原型对象中定义的属性。
property与attribute均可单独理解为属性、property attribute是一个词组,意为“属性的特性”---------可写、可枚举、可配置
1.建立对象
直接量:由若干名/值对组成的映射表,中间用冒号分割 , 名/值对之间用逗号分割,整个映射表用花括号括起来
对象的直接量是一个表达式,这个表达式的每次运算都建立并初始化一个新的对象
var empty={ };//没有任何属性的对象
var point{ x : 0 ,y : 0;} //两个属性
var point2={ x : point.x , y : point.y+1};
var book ={
"main title" : "javascript" , //属性名有空格,必须用字符串表示
"sub-title" : " the one" , //属性名里有连字符,用字符串显示
“ for”: " djskf" , //for是保留字用引号
author:{
firstname :" David", //这里的属性没有引号
lastname : " dfd"}
};
2.经过new建立对象