函数
- 函数 function 函数是一个对象,
- 函数可以封装一些功能代码,在需要的时候可执行这些功能,
- 函数中可以保存一些代码在需要的时候调用,
- 使用typeof检查一个函数对象时,会返回function
- 封装到函数的代码不会立即执行,会在函数调用的时候执行
- 调用函数的语法:函数对象();fun();
- 函数语法: function 函数名(【形参1,形参2....形参N】){
- 语句
- }
- 作用域
- 作用域指一个变量的作用范围
- 全局作用域:直接编写在scrpt标签中的js代码,都在全局作用域
- 全局作用域作用域在页面打开时创建,在页面关闭时销毁,
- 全局作用中有一个window,我们可以直接使用,代表我我们的浏览器窗口
- 全局作用域中创建的变量都会作为window保存,创建的函数会作为window的对象保存。
- 变量的声明
- 使用var 关键字的时候,会在所有的代码执行之前被声明;
- var a=123; var a;
- console .log("a="+a); 等价于 console .log("a="+a);
- a=123;
- 但是如果不写var 的话他就不会提前声明变量
- 函数的声明提前,使用函数声明创建发function 函数(){}这个就会在函数调用前直接提前
- 使用var function 声明的函数不会被提前
- 垃圾回收
- 当一个对象没有任何变量或属性对它进行应用,此时我们将无法操作对象,此时对象就是一个垃圾,这种对象过多就会占用大量的内存空间,导致程序变慢,所以这种垃圾必须进行处理。js拥有自动的垃圾护手记者
- 函数作用域
- 调用函数开始,每次调用就执行一次
- 当在函数作用域中操作一个变量时,他会在自身作用域中,如果有的话直接用,如果没有就去上一级直接找,如果一直没有就会报错。如果在函数中访问全局变量,就直接用window,函数中使用var也会在声明提前
- 在函数中,不使用var 声明的变量都会成为全局变量
- 在函数中定义了形参就相当于在函数作用域中声明了变量
- hasOwnProperty()使用该方法来检查对象自身中是否含有该属性,当对象自身中有才会返回true.