1.表达式
表达式(expression),JavaScript中的“短语”,是JavaScript中用于计算并产生一个结果值的“短语”
如:下面是一些最简单的字面量值和变量表达式
10//数字字面值
“JavaScript”//字符串字面值
i//变量表达式
function(x){return x*x;}//函数表达式
/\w+@\w{3,}/ //正则表达式
undfined //Undefined类型的字面值
true //布类类型的字面值
这些表达式太简单,还有一个复合的表达式,如 a+b 这类的算术运算表达式。这些复杂的表达式需要用
各种运算符将他们组合起来。
表达式与语句的区别:一条语句完成一个功能,一个功能由若干表达式组成,最简单的语句也是表达式
加一个分号。
2、运算符
JavaScript 脚本语言支持的运算符包括:赋值运算符、算术运算符、比较运算符、逻辑运算符、对象运
算符以及typeof 运算符等。
赋值运算符
赋值运算符包含 = 、 += 、 -= 、 *= 、 /= 、 %= 等。
将运算符右边的赋值给左边的变量
右边可以是一个字面量,变量,带返回值的函数等表达式。
左边必须是一个变量名或一个未初始化的常量名(常量一旦初始化就不能再赋值)。
x = 10;
x += 20;//等效于 x = x+20;
console.log(x);//输出30
3、比较运算符
也叫关系运算符。
结果是一个逻辑值。
用于比较两个数据的运算符称为比较运算符,包括 == 、 === 、 != 、 > 、 < 、 <= 、 >= 。
let a=10,b="10";
document.write(a==b); //true
document.write(a===b);//false
第一种是 == 比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;
第二种是 === 比较,它不会自动转换数据类型,如果数据类型不一致,返回 false ,如果一致,再比
较。
由于JavaScript这个设计缺陷,不要使用 == 比较,始终坚持使用 === 比较。
4、逻辑运算符
结果是一个逻辑值。
进行多条件组合的运算的符号,包括 “&&”、“||”和“!”
&&:且,and 同时成立才成立
||: 或,or 有一边成立成立
!:not ,取反
5、函数
最大的特点之一:定义一次,多次调用。
如果只是函数的定义不会被立即执行,只有调用才会被执行。
JavaScript函数还有一个非常重要特征:JavaScript代码可以对函数进行操作。
//定义函数
function max(a,b){
return a>b?a:b;
}
var num = max(10,20);//调用自定义函数
document.writeln(num);//调用JavaScript预定义函数
函数的调用
函数的调用,用“ () ”运算符,调用格式:
变量 = : 可选部分。函数执行后返回一个计算的值,这个值可存储到变量中。但如果函数没有返回
值,变量结果为 undefined 。
实际参数列表 : 可选部分。参数是调用者传入到函数的数据,可以0个或以上数据的项。
函数名引用是一个已经定义好的函数。可以是系统预定义好函数,也可以是程序员自定义的函数。
函数的定义
函数的定义有三种形式: function定义 函数直接量定义 Function()构造函数
function定义(函数声明 ) :
这是一种传统函数的定义方法。
语法:
说明:
<h2>当前时间:<span id="t"></span></h2>
<script>
//定义函数
function showTime(){
var time = new Date().toTimeString();
document.getElementById("t").innerText = time;
}
//函数作为参数调用
// setInterval(showTime, 1000);
setInterval(function(){
var time = new Date().toTimeString();
document.getElementById("t").innerText = time;
},1000);
</script>
[变量 = ]函数名([实际参数列表]);
document.writeln("hello");
var n = Math.random();
var n2 = Math.max(n,0.5);
alert("hello");
function 函数名([参数列表]){
代码
[return语句]
}
匿名函数
匿名函数就是没有名字的函数,一般是用表达式的方式创建,主要作为回调函数或者立即执行函数的方
式使用。
function handler(f){
var n = f(10);//n=100
n = n + 5; //105
return n;
}
var result = handler(function(x){return x**2;});//result的值为105
其中 function(x){return x**2;} 这个函数就是一个匿名函数,它作为参数传递给handler这个函
数,这个匿名函数也称之为回调函数。