JavaScript变量、运算符
一、主流浏览器
IE trident
Chrome webkit/blink
firefox Gecko
Opera presto
Safari webkit
二、如何引入js?
- 页面内嵌标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script type="text/javascript">
// 此处写JavaScript代码
document.write('hello world!!');
</script>
</head>
<body>
<script type="text/javascript">
// 此处写JavaScript代码
document.write('hello world!!');
</script>
</body>
</html>
- 外部引入
为符合web标准(w3c标准中的一项)结构、样式、行为相分离,通常会采用外部引入
<body>
<script type="text/javascript" src="Demo.js"></script>
</body>
document.write('hello world!!');
三、变量
var a; //声明变量a;
a = 100;//给变量赋值100;
document.write(a);//把a打印出来;
单一var模式
var b,c;
var d = 4,
e = 5;
3.1 变量的命名规则
- 变量名必须以英文字母、_ 、$ 开头。
- 变量 名可以包括英文字母、_ 、$、 数字。
- 不可以用系统的关键字、保留字作为变量名。
3.2基本语法
- 值类型————数据类型
- 不可改变的原始值( stack 栈数据)
Number, String,Boolean,undeftined(未定义的),null - 引用值( heap 堆数据)
array(数组类型), object(对象类型), function(方法类型)…
- js语句基本规则
- 语句后面要用分号结束";"。
- js语法错误会引发后续代码终止,一个js文件里面可以放对个JavaScript代码块,但不会影响其他js代码块。
错误分成两种<body> <script type="text/javascript">js代码1</script> <script type="text/javascript">js代码2</script> </body>
- 低级错误(语法解析错误)
- 逻辑错误(标准错误)
- 书写格式要规范,"= + / -"两边都应该有空格。
四、JavaScript运算符
4.1运算操作符
- “+”
1.数学运算、字符串链接
2.任何数据类型加字符串都等于字符串
var a = 1 + 1 + “a” + ( 1 + 2 );
document.write(a);—>2a3 - “-”,"*","/","%","=","()"
<script>
var a = 0 / 0;
document..write(a);
</script>
其最后的结果是,凡是应该得出数学的值,但又没有办法表示的,就会表示成NaN(全称:"Not A Number")
<script>
var a = 1 / 0;
document..write(a);
</script>
其结果为Infinity(无穷的);
- 优先级"=“最弱,”()"优先级较高
- “++”,"–","+=","-=","/=","%="
a++ 相当于 a = a + 1;先执行语句再++;++a指的是先++再执行语句。
赋值的顺序,自右向左;计算的顺序,自左向右。
a += 10; 相当于 a = a + 10;
a *= 2;相当于a = a * 2;
a %= 2;相当于a = a % 2;取余数,把余数赋给自己。
4.2比较运算符
“>”,"<","==",">=","<=","!="
比较其ASCII码的大小,ASCII一码为七位二进制数,ASCII二码为八位二进制数。
比较结果为Boolean值
4.3逻辑运算符
-
“&&”,"||","!"
运算结果为真实的值
var a = 1 && 2;
结果为2
规则:先看第一个表达式转换成布尔值的结果,如果结果为真,那么它会看第二个表达式转换为布尔值的结果,然后如果只有两个表达式的话,只看看到第二个表达式,就可以返回该表达式的值了。
如果第一个表达式转换成布尔值为false时,会输出直接输出第一个表达式的值。
如果有多个表达式的话,依次向后看。 -
也具有终断的作用:相当于 如果…那么…
例如: 2 > 1 && document.write(‘a’); 指的是如果2>1条件语句为真,那么就会执行后面的语句。 -
var num = 1 || 3;
document.write(num);
先看第一个条件表达式是否为真;
如果为真,那么不看后面的条件语句,返回前面的条件语句的值。
如果前面的条件语句为假,那么返回后面条件语句的值。
有一个真就为真,全假就为假。
如果有多个表达式的话,依次向后看。 -
可以利用这种方法写兼容性:
div.onclick = function ( e ) {
非IE浏览器里
var event = e;IE浏览器里,由于e没有值,但存储在windows.event里面
}
我想在任何浏览器里面都能拿出这个值,但在IE和非IE浏览器里的表达形式不一样,可以写一个兼容性:
div.onclick = function(e){
var event = e || window.event;
} -
var a = !123;
指的是先把表达式转换成布尔值再取反,
4.4被认定为false的值
undefined,null,NaN,"",0,false
上一篇: ES6解构之数组解构、对象解构、参数解构
下一篇: 18-高级运算符