1.命名函数: 有名字的函数
匿名函数:没有名字的函数
2.匿名函数:
function(){
}
3.函数的另一种定义方式:
var 变量名 = function(){
}
var 变量名 =[];
判断变量的数据类型:typeof
函数也是一种数据类型:类型是function ----object
js中的类型:number string boolean undefined null object
作用域:
作用域:变量可以起作用的范围
全局变量:在任何地方都可以访问的变量-----在–只要用了var声明的变量都是全局变量
局部变量:在固定的代码片段内{}可以访问到的变量 -----在函数内部声明的变量
隐式全局变量;不用var 声明,直接赋予使用的变量-----可以作用域全局作用域
全局变量和隐式全局变量的区别:
隐式全局变量可以删除
全局变量不能删除,全局变量只要定义了就一直存在,除非浏览器关闭
全局作用域:全局变量的使用范围
局部作用域:局部变量的使用范围
预解析:
浏览器会预解析js代码:将变量的声明和函数的声明提前到当前作用域的最前面
1.把变量的声明提升到作用域的最前面,只会提升声明,不会提升赋值
2.把函数的声明提升到当期啊作用于的最前面,只会提升声明,不会提升调用
函数如果是表达式声明的话,只会提升函数的声明,不会将函数体提升
3.先提升var ,在提升function
----如果变量名函数名同名,函数优先
JavaScript中的对象:
1.编程思想:把生活中做的一些事的经验融入到程序中
面向过程;凡事亲力亲为,每件事都具体的过程都要知道,注重的是过程
面向对象:根据需求找对象,所有的事情都是通过对象来完成的,注重的是结果
2.面向对象的特征:封装 继承 多态 -----后端语言特有的,js没有
js不是一门面向对象的语言,但是js可以模拟面试对象的思想
------js是一门基本对象的语言
js是一门脚本语言---不需要编译
js是一门解释型语言--通过浏览器解析
js是一门动态类型的语言---变量在赋值之前都是不知道什么类型的
js 是一门弱类型语言---声明变量都用var
3.什么是对象?-----万物皆对象
看得见.摸得着,具体指的某个事物
4. 对象的特点 :特征和行为
遥控器的特征 :
颜色1:黑色
尺寸:20Cm
按钮:20个
遥控器的行为:
打开投影
关闭投影
调分辨率....
5.结论:对象有特征和行为,具体特指的某一事物
在编程语言中:特征----->属性
行为---->方法
6.js中的对象:一组无序属性的集合;
js中创建对象有三种方法:
(1)使用Object构造函数实例化对象
Var obj=new Object();
对象:特征---->属性
行为----->方法
对象添加属性:对象.属性=值;
对象天机方法: 对象.方法=function(){}
使用对象的属性和方法?
使用属性:对象.属性
使用方法:对象.方法名()