js
一 几大主流浏览器 内核
IE trident
Chrome webkit/blink(2014)
firefox Gecko-干靠
Opera presto
Safari webkit
js解释性语言 单线程
二 如何引入 js
<script type="text/javascript"></script>
<script type="text/javascript" src="xxx.js"></script>
三 变量
# 变量声明
# 声明 赋值分解
var a;
a=100; 等价于 var a = 100;
"""
如果有多个var变量var a = 1 ;
var b=2就是时间慢 每次都要先开辟一个空间 在赋值;
就又出现了单一var
"""
# 单一 var
var a,
b, # 必须要用逗号隔开
c,
d,
e;
a = 1;
b = 2;
c = 3;
四 命名规则
# 1. 变量名必须以英文字母、_、$ 开头
# 2. 变量名可以包含英文字母、_、$、数字
# 3. 不可以用系统的关键字、保留字作为变量名
五 值类型----数据类型
# 不可改变的原始值(栈数据)
# Number,String,Boolean,undefined,null
# undefined 没有定义的
# null 占位符
# 引用值(堆数据)
# array,object,function,date,RegExp
原始值是存在栈里面-----先进后出
var a = 10;
var b = a;
a = 20;
document.write(b); # 10 因为是栈 是拷贝 不会改变b的值
引用值是存在堆数据
var arr = [1,2]
var arr1 = arr
arr.push(3)
document.write(arr1);
六 js语句的基本语法
# 语句后面要用分号结束";"
# js语法错误会引发后续代码终止,但不会影响其他js代码块
# 书写格式要规范,"=+/-"两边都应该有空格
七 运算操作符
# "+"
# 数学运算、字符串连接
# 任何数据类型加字符串都等于字符串
# "-","*","/","%","=","()"
# 0/0 是 NaN not a number
# 1/0 是 infinity
# -1/0 是 -infinity
# 优先级 "=" 最弱, "()"优先级较高
# "++","--","+=","-=","/=","*=","%="
var a = (10*3-4/2+1)%2; b = 3; b%=a+3; document.write(a++); // 打印a++ 其实是先打印 a document.write("<br>"); document.write(--b); // 1 // 2
<script type="text/javascript"> // var a = 123; var b =234; 请交换a和b的值 var a = 123; var b = 234; 方法一 // var c = a; // a = b; // b = c; 方法二 a = a+b; b = a-b; a = a-b; </script>