编程思想:
- 面向过程:凡事亲力亲为,所有的事情的过程都要清楚,注重的是过程。
- 面向对象:提出需求,找到对象,对象解决这个问题,我们要结果,注重的是结果。
- 面向对象的特性:封装,继承,多态,(抽象性)
JS是一门什么语言?
- 是一门解释性语言
- 是一门脚本语言
- 是一门弱类型语言
- 是一门基于对象的语言
- 是一门动态类型的语言
对象:有属性和方法,具体特指的某个事物*
对象:JS中就是一组无序的属性的集合*
属性----特征
方法----行为
创建对象的方式:
1:通过调用系统的构造函数创建对象 new object()
var obj1=new Object();
2:自定义构造函数创建对象
var obj2=new 自定义构造函数()
3:字面量的方式创建对象
var obj3={};
变量 instanceof 对象----->布尔类型,判断这个变量是不是这个类型的
JSON格式的数据,都是键值对,成对的数据
var obj = {
name:"小明"
};
var json={
"name":"小明"
};
json的数据实际上就是格式化后的一组字符串的数据
对象设置属性的值的写法
对象.属性名字=值;----点语法
对象["属性的名字"]=值;----
对象获取属性的值的写法
对象.属性
对象["属性"]
遍历对象
for(var key in 对象){key是一个变量,这个变量中存储的是遍历的对象的属性的名字
}
- 原始数据类型:number,string,boolean,null,undefined,object
- 基本类型(简单类型,值类型):number,string,boolean
- 复杂类型(引用类型):object
- 空类型:undefined,null
基本类型的值在栈上
复杂类型的对象在堆上,地址在栈上
值类型之间传递的是值
引用类型之间传递的是引用(地址)
对象分三种:内置对象,自定义对象,浏览器对象
1.内置对象:系统提供的
2.自定义对象:自己写的
3.浏览器对象:浏览器的
Math 是一个对象,但不是一个函数
Math对象下的属性和方法都是静态的
方法:
Math.ceil()----向上取整
Math.floor()----向下取整
Math.Pi----圆周率的值
Math.max()----一组数字中的最大值
Math.min()----一组数字中的最小值
Math.abs()----绝对值
Math.random----随机数字
Math.sqrt()----开根号
Math.pow()----一个数字的多少次幂
new的执行过程:----->new的时候,系统做了什么事?
- 1.开辟空间,存储创建的新的对象
- 2.把this设置为当前的对象
- 3.设置属性和方法的值
- 4.返回当前的新的对象
var obj={
name:"李冰涛",
age:20,
sex:"男",
height:175
};
for(var key in obj)
{
console.log(key+"=====>"+obj[key]);
}
~哈哈~