主流浏览器
IE trident
chrome webkit/blink
firefox Gecko
opera presto
Safari webkit
js分为内部引入和外部引入两种方式
var a; 声明变量
a=100; b变量赋值 =用于赋值符号
var a=100;定义变量 有两个过程:声明变量和变量赋值
var a,b,c;单一var模式 ","隔开
变量命名:
1.变量名字以英文字母,_,$ 开头
2.变量可以有英文字母,_,$ 开头和数字组成
3.不可以使用系统关键字(var) 和保留字
表达式
先处理运算符,最后赋值
运算优先级大于赋值优先级 先执行右侧内容
原始值(栈数据,先进去的东西永远最后出去;栈与栈赋值为拷贝):Numer(数字),Bookean(布尔 false true),String(字符串 ""),undefined(没有定义的,生命的变量没有赋值,为undefined),null(占位,空)
引用值(堆数据,怎么放怎么拿): array(数组) Object function
两种值赋值情况不一样
原始值:修改变量,只有修改的变量会变,不可改变的原始值,房间中的值不可改变,会新建一个房间
a=20//a里面只能存在一个变量
![image.png](https://img.haomeiwen.com/i14940568/9f29e30c5284968a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
引用值:修改的变量,关联变量都会变(先在栈里面命名,然后把数据放到堆里面)
![image.png](https://img.haomeiwen.com/i14940568/9189fe626befac78.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
<script>
var arr=[1,2];
var arr1=arr;
arr=[1,3];
console.log("arr="+arr) //1,3
console.log("arr1="+arr1)//1,2
//.push() 在原数组里面赋值
///arr1=[1,2] 创建了一个新的房间,不是再原来的房间push或者减少
</script>
后面语句结束要用分号结束";"
;告诉程序完成 函数后面,for循环,if循环后面不需要加;
错误分为两种 大体扫描一下,出现错误,不会解析,
1.低级错误(语法解析错误会引发后续代码终止,但不会影响其他js代码块)
2.逻辑错误(标准错误,情有可原)
网友评论