对象:一堆变量 +一堆函数的集合
例如:
var obj1 = {
x:0,
y:1,
z:function(){console.log("z fuc");}
}
var person1 = {
name:"小明",
sex:"male",
age:"19",
slogan:function() {
console.log("我是小明");
}
}
属性: 名: 值,
名:string 就是说x和“x”是一样的会被隐式转换为string。
名如果包含了特殊字符(空格也算)那么必须要加上引号(单引号双引号都可以)。
字母和数字组合的不用加引号。
对象里面属性的基本操作:
增加:修改的时候如果对象里面没有这条属性,那么会自动加上。
删除:delete person1.name 删除person1.name这个属性。
修改:修改属性的值。
查看:获取属性的值 有点和括号两种形式。
name = person1.name;
name = person1[“name”];
点只能查看没有带引号的的属性名。(person1.name 就可以获取到person1下面name这个值。如果有一个属性为first-last,此时person1.first-last是无法查看该属性的。只能用person1[“first-last”]才可以。)
在person1(叫小明)里面加一个对象son(小小明),然后delete person1.son,这时候小小明就不是person1的son了,但是小小明这个人是依旧存在的。两者之间只是解除了关系,但本身依旧存在。
遍历:把全部属性都获取一遍
for( in ) //形式
for(var pn in person1){
console.log("person1的属性名:" + pn + = "person1[pn]")
} (从第一个person1的name开始将所有的属性都遍历一遍,也就是全部都打印一遍)
对象的引用和赋值:
var person1 ={
name:"小明",
sex:"male",
age:"19",
slogan:function() {
console.log("我是小明");
}
}
定义变量来使用这个对象
var person1 = 容器很小 只能放下 值 数字 字符
将对象打包,再将地址赋给person1这就叫引用。
所以如果命person2等于person1,(给的地址,而不是属性)。然后在person2里面修改属性的值,相当于改变了地址里面那么的值,那么这时
person1里面对应的值也会随之改变。
**用类的形式创建对象:**创建一个person的类,var person2 = new PersonClass();
在ES5里面是使用的function,但在ES6往后就可以用class了。在这里先学function。
类:
function PersonClass(){
this.name="小明";
this.sex="male";
this.age="19";
this.slogan = function() {
console.log("我是小明");
}
}
创建好类以后就可以直接创建对象。
var person1 = new PerosnClass();
var person2 = new PerosnClass();
还可以用构造函数方式来传参:
function PersonClass (pName,pSex,pAge){
this.name = pName;
this.sex = pSex;
this.age = pAge;
this.slogan = function() {
console.log( "我是" + this.name);
}
}
var person1 = new PersonClass("小明","male","19");
系统提供的对象和类:
例如:var obj1 = {}; 和var obj1 = new Object(); 是一样的。
1.数字转为字符串:
var n1 = 123;
var ste1 = n1.toString();(W3school里面有转化的详细方法)
2.计算代码的性能(也就是执行该段代码的时间)
var time1 = new Date();//获取了当前的时间,本地的时间
var t = 0;
for(var i = 0; i<1000000; i++){
t++;
}
var time2 = new Date();
var n = time2.getTime() -time1.getTime(); 执行了多少毫秒。
该段代码的意思是计算t++执行一百万次所需要的时间
3.随机数:
Math.random() // 随机出现一个数,不是整数,0到1之间的浮点数。
for(var i = 0; i<10 ;i++)
console.log(Math.floor(Math.random()*10)+1); //取一到十的整数。floor方法,对x向下取整。