javascript分为js基本语法(EDMAscript简称es5)+webapi(DOM和BOM)
1.作用域就是使变量在某个范围内起作用,目的就是为了提高程序的可靠性减少命名的冲突
2.js作用域(es6)之前分为:全局变量和局部变量
js中没有块级作用域,es6才新增了块级作用域,块级作用域 {} if{} for{}
局变量:在script整个标签,或者一个单独的js文件
有一种特殊情况
局部变量:在函数内部
注意:函数的形参也可以看作是局部变量
3.从执行效率来看
(1)全局变量只有浏览器关闭的时候1才会销毁,比较占内存资源
(2)局部变量,当程序执行完毕就会销毁,比较节约内存资源
2.对象
1.对象就是一个具体的事物
,看的见摸得着的实物,明星不是对象,因为它泛指,周星驰是对象,女朋友不是对象,泛指,苹果也不是,但这个苹果是,因为它特指这个,班主任不是,咱班班主任是对象,因为它是具体的某一个事物
2.在js中,对象由属性
和方法
组成
属性:就是事物的外在特征,常用名词来表示,例如:这个手机的大小,形状等
方法:就是事物的行为,可以干什么事,常用动词来表示,例如:这个手机可以打电话,玩游戏
3.为什么需要对象
比如有一个注册表单,里面有很多的个人信息,如何保存呢?用变量
的话,一次只能保存一个值,那就要很多的变量,麻烦费劲,用数组
的话那它的保存形式如下var arr = ['张三丰','男','128' , '154'];
信息是保存下来了,但结构不清晰,不能分清谁是谁,因此就引出了对象
,使结构更清晰
person.name='张三丰';
person.sex='男';
person.age='128';
person.height='154';
创建函数的方法:
4.创建对象的方法:
(1)利用字面量
创建{}
(2)利用new Objec
t创建
(3)利用构造函数
创建
案例时间
构造函数和对象区别
- 构造函数,抽象了对象的公共部分,封装到函数里,它是泛指的例如 Start()
- 创建对象,var ldh = new Start() 特指某一个,通过new关键字来使对象实例化
遍历对象
3.内置对象
js中内置对象分为3中,自定义对象、内置对象、浏览器对象
自定义对象就是上面讲的三种创建对象的方法,
内置对象
是js自带的对象,就相当于封装好的API,直接调用即可,js中常见的内置对象有,Math、Date、Array、String…
利用MDN
在线文档查,,可以输入中文来查询,按以下方法进行学习
- 查阅该方法的功能
- 查看里面参数的意义和类型
- 查看返回值的意义和类型
- 通过 demo 进行测试