实例化对象:通过构造函数创建出来的实例化对象。必须通过实例对象调用。
静态对象:不需要创建,直接就说一个对象,方法(静态方法),直接通过这个对象的名字调用的。必须由大写的对象调用。
//点语法:
对象.名字=值;
对象.名字=函数;
对象["属性名字"]=值;
*/
/**
js是一门什么样的语言?
是一门解释性的语言,
是一门脚本语言
是一门弱类型的语言,声明变量都var
是一门基于对象的语言
是一门动态类型的语言
1、代码(变量)只有执行到这个位置的时候,才知道这个变量中到底存储的是什么,如果是对象,就有对象的属性和方法;如果是变量,就是变量
2、对象什么都没有,通过点语法,那么就可以为对象添加属性和方法
*/
/*
对象获取属性的值得写法:
对象.属性
对象["属性"]
*/
/**遍历对象
for(var key in 对象){}
//key数一个变量,这个变量中存储的数遍历的对象的属性的名字
*/
原始数据类型:number,boolean,string,null,undefined,object
基本类型(简单类型,值类型):number,boolean,string
复杂类型(引用类型):object
空类型:null,undefined
基本类型的值在栈上
引用类型的值在堆上,地址(引用)在栈上存储
值类型之间传递的是值
引用类型之间传递的引用(地址)
对象分为三种:内置对象,自定义对象,浏览器对象
内置对象:系统提共
Math
Date
String
Array
Object
自定义对象:自己定义的
浏览器对象:浏览器的对象
Math是一个对象,但不是一个函数,Math对象下的方法和属性都是静态的
方法:
Math.PI圆周率的值
Math.E常数的底数
Math.abs(值);求绝对值
Math.floor(值);向下取整
Math.ceil(值);向上取整
Math.max();一组数据中的最大值
Math.min();一组数据中的最小值
Math.random();随机数
Math.sqrt();开方
Math.pow();方根,一个数的多少次幂
new 的执行过程:------》new的时候,系统做了什么事?
1、开辟空间,存储创建的新对象
2、把this设置为当前的对象
3、设置属性和方法的值
4、返回当前新的对象