JavaScript数据类型与函数

- 数据类型
- 数值
- 字符串
- 布尔型
- 函数
- 定义函数
- 调用函数
- 函数参数
- 函数应用
- 匿名函数
- 函数作为值
- 函数作为参数
- 函数作为表达式
- 闭包函数
数据类型
在JavaScript中定义变量时不需要指定类型,在运算时JavaScript能自动转换数据类型。但还是要了解JavaScript的数据类型。
数值
JavaScript包含三种基本的数据类型:数值、字符串和布尔型。
使用toString()方法可以把数值转换为字符串。
使用toString()方法把数值100转换为字符串,使用typeof()方法验证转换后的数据类型
var a = 100;
var b = a.toString();
alert(typeof(b));

还可以将数值与字符串相加,就可以将数值转换为字符串
var a = 100;
var b = a + "";
alert(typeof(b));
字符串
字符串由Unicode字符、数字、标点符号等组成的字符序列,字符串处必须使用单引号或双引号包括起来。单引号也可以包含双引号,双引号也可以包含单引号。所有字符串应该在同一行书写。
字符串赋值方式
var str = "字符串"; //简单的字符串
var str = "'javascript'和'java'"; //包含单引号的字符串
var str = ''; //HTML字符串
使用parseInt()和parseFloat()方法可以把字符串转换为数值
var str = "123.30";
var a = parseInt(str); //返回值123
var b = parseFloat(str); //返回值123.3
也可以让字符串与1相乘,就可把字符串转换为数值
var str = "123.30"
var a = str * 1;
alert(typeof a); //返回number
布尔型
布尔型只包括两个值true与false。布尔值大多用在逻辑运算、比较运算中和条件语句中。
将值转换为布尔类型,在值的前面增加两个感叹号。
var a = 100;
var c = !!a; //把变量a转换为布尔值
alert(c); //返回值为true
alert(typeof c); //返回boolean
将布尔值转换为字符串
var b = false;
a = a + ""; //值为true
b = b + ""; //值为false
将布尔值转换为数值
var a = true;
var b = false;
a = b * 1; //值为1
b = b * 1; //值为0
注:这些值的布尔值都是false
- 0
- NaN
- ’ ’
- false
- null
- undefined
函数
函数构成了JavaScript源代码的主体
定义函数
定义函数有两种方法
function语句声明函数
Function对象构造函数
使用function定义函数
法1:命名函数
function h(){//函数体
}
法2:匿名函数
var h = function(){//函数体
}
使用Function对象构造函数
var function_name = new Function(arg1, arg2, ..., argN, function_body)
Function()所有的参数必须是字符串
var say = new Function("name", "say", "document.write('' + name + ': ' + say + '
');");
say("张三", "Hello!")

在实际应用中使用function比Function构造函数简单,并且更高效。
var say = function(name, say){document.write(''
+ name + ' : ' + say + '');
}
say("张三", "Hello!")
调用函数
调用函数使用小括号运算符来实现。在括号运算符内部可以包含所有多个参数列表,参数之间通过逗号进行分隔。
function f(){return "Hello,World!";
}
document.write(f());
函数的返回值没有任何类型限制,它可以返回任意类型的值。
函数参数
参数分为两种形参和实参
形参:定义函数时,传递给函数的参数,被称为形参,形式上的参数
实参:当函数被调用时,传递给函数的参数,这些参数被称为实参
function add(a,b){ //形参a,breturn a + b;
}
alert(add(10,20)); //实参10,20
函数形参的数量可以使用函数的length属性获取
注:当形参大于实参时,多出的形参值为undefined;如果实参大于形参,多出的实参就无法被形参变量访问,就会被忽略掉。
传递三个实参值,函数自动忽略掉第三个实参的值
function add(a,b){return a + b;
}
alert(add(1,2,3)); //第三个实参被忽略掉,结果为3
预防用户随意传入参数,可以在函数体内检测函数的形参和实参是否一致,如果不一致可以抛出异常,如果一致正常计算。
function add(a, b){if(add.length != arguments.length)throw new Error("实参与形参不一致,请重新调用函数!");elsereturn a + b;
}
try{alert(add(2));
}
catch(e){alert(e.message);
}

函数应用
匿名函数
匿名函数就是没有名称的函数,当只需要一次性使用函数时,使用匿名函数会更加有效率。
var z = function(x, y){return (x + y) / 2;
}(23, 35)
函数作为值
函数可以作为值赋予给其他变量
var a = function(x,y){return (x+y)/2;
}
alert(a(12, 33));
函数作为参数
函数也可以作为参数传递给另一个函数,也可以作为返回值。
var a = function (f, x, y){return f(x, y);
};
var b = function(x, y){return x + y;
};
alert( a(b, 3, 4));
函数作为表达式
var a = function(x){alert(x);
}
a(50);(function(x) {alert(x);})(50);
闭包函数
闭包函数时一个拥有许多变量和绑定了这些变量的环境的表达式。闭包函数就是外部函数被调用后,它的变量不会消失,仍然被内部函数所使用,而且所有的内部函数都拥有外部函数的访问权限。
function a(){var n = 0;
function b(m){n = n + m;return n;}return b;
}
var b = a(); //调用外层函数,返回内部函数
document.write(b(3));
document.write("
");
document.write(b(3));
document.write("
");
document.write(b(3));
document.write("
");
document.write(b(3));

人生漫漫其修远兮,网安无止境。
一同前行,加油!
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
