首页 > 代码库 > js笔记

js笔记

整理桌面遇到之前做的笔记:

javascript 简称(js)是一门基于浏览器的面向对象,时间驱动的网页脚本语言。
js是浏览器解析并执行的,因为客户端浏览器不同,所以js存在兼容性的问题。
<script type="text/html"></script>
<script language="javascript" src="http://www.mamicode.com/引入的js文件"></script>
匿名函数就是函数可以去掉名字,
函数的定义会返回函数的首地址,
自调用匿名函数是为了变量名的重复。。

js中在函数内部的局部变量在函数运行后就会消失。

如果在局部,变量没有var声明语句,会向上一级作用域中查找关于这个变量
的定义,如果没有找到,再向上查找,一直找到为止,如果最后也没有找到,
就会再最外面的全局作用域中自动定义这个变量,这就是作用域链;

js里面访问外面的称为 作用域链
外面访问里面的称为 闭包


js 中arguments属性,arguments是函数的参数数组列表,
arguments是以数组形式体现的
使用arguments属性的时候无需指明函数参数,

javascript 的执行过程
1,读入第一代码段
2,编译:(声明变量,函数声明,语法检查,代码优化,语法分析等)
3,执行  例如 var i=10;中  var i 属于编译   i=10 属于执行
4,读入下一个代码段
像<script></script>包起来的叫一个代码段
5,又同上继续编译。。。

js 是分段执行,如果前一个代码段出错,后一个代码继续执行。
无论是执行错误还是编译错误,代码都会停止当前代码段的执行
无论是执行错误还是编译错误,都不会影响后面代码段的执行
执行错误,之前的代码可以运行
编译错误,之前的代码不执行

var arr=[‘a‘,‘b‘,‘c‘];
在js 数组中,文本下标不计入数组长度中,所以一般使用for in 遍历数组
语法如下 for(var i in array){}  
i 是数组的下标

js笔记