10、控制语句---if语句
10_1:if-else语句
if(表达式){
语句1;
。。。。
}else{
语句1;
。。。。
};
示例:
var a = 1;
if (a > 0){
alert("a大于0")
}else {
alert("a小于0")
}
10_2、if-else if--elsey语句
if(表达式){
语句1;
。。。。
}else if(表达式){
语句1;
。。。。
}else{
语句1;
。。。。
}
11、控制语句switch
switch(表达式){
case 值1:
语句1;
break;
case 值2:
语句2;
break;
case 值3:
语句3;
break;
default:
语句4;
}
12、循环语句---for循环表达式1
var l = [1,"2","a"]
for (var i in a){
console.log(i);
这里的i是id,而不是值
console.log(a[i]);
}
循环语句--for循环表达式2
for (var a = 1;i <= 10;i++){
alert(i)
}
13、循环语句--while语句
while (表达式){
语句1
。。。。。。
}
14、异常处理
try{
}
catch(e){
}
finally{
}
15、javascript的对象类型
ECMAscript
Dom
BOM
ToString():返回对象的元是字符串表示
ValueOf():返回最后该对象的原始值,对于许多对象,该方法返回的值都与ToString相同
一共有11个内置对象
Array
String:字符串对象 var s = new String("hello"),定义一个字符串的对象
Date:时间对象
Math
Boolean:布尔值对象
Number:数字对象
Function:函数对象
Global
Error:错误对象
RegExp:正则表达式的对象
Object:原生的类的对象
16、重点讲一下function对象
1、创建函数的方式1,也可以有返回值
function test_func() {
alert(123)
return "aaaa"
}
var res = test_func()
alert(res)
2、创建函数的方式2,这种方式没有大括号,这种方法不要使用就可以了
var test_func = new Function ("参数1","参数2","参数n","函数体");
3、函数的特性
3_1、length特性
function test_func(a,b,c) {
alert(123)
return "aaaa"
}
var res = test_func(1,2,3)
alert(test_func.length)
这个length的值是函数的参数的个数
3_2、函数内部定义的变量是局部变量,在函数外部是不能使用的
function func1() {
var a = 1;
}
func1()
alert(a)
这里在函数外部打印函数内部的变量是会报错的
function func1() {
var a;
alert(a)
}
func1()
这里在函数内部没有对a赋值,也是可以打印的,javascript会给a赋值为undefined
javastript如果在定义函数的时候只有2个形参,而在调用函数的时候传递了超过2个
的实参,这样的形式在javascript中不会报错的
function func1(a,b) {
var ret = a + b;
alert(ret)
}
func1(1,2,3)
这里的a会赋值给1,b会赋值给2,得到的结果是3
arguments这个javascript默认定义好的对象,我们看下下面的例子
function test() {
alert(arguments.length);
console.log(arguments);
}
test("a","b","c","d")
alert(arguments.length); 这一句返回的时候实参的个数,这里也就是4
console.log(arguments);这一句返回一个auguments对象,他的内容是一个数组
内容如下
0:a
1:b
2:c
3:d
看下一个例子,实现自动去匹配函数的实参,然后根据实参的个数自动去累加
var ret = 0
function test() {
alert(arguments.length);
for (var i in arguments){
ret = ret + arguments[i];
}
return ret
}
alert(test(1,2,3,4,2345))
可以通过argument.length去判断参数的个数,如果不对,则抛出错误
var ret = 0
function test() {
alert(arguments.length);
if (arguments.length != 2){
throw new Error("参数的个数不正确")
}
for (var i in arguments){
ret = ret + arguments[i];
}
return ret
}
alert(test(1,2,3,4,2345))
5、匿名函数,这个虽然没有给函数取名字,但是把函数地址赋值给变量func,可以通过func执行函数
var func = function (){
语句
}
6、自执行函数,定义一个函数,然后在函数后加一个括号,直接执行函数就可以了,非常节省资源
(function(arg){
语句
}
)("123")