javaScript函数
函数声明 函数语法 函数调用 函数中的arguments和this 类型转换 常见函数
二、什么是函数?
-
可视为普通对象,和其他数据类型一样
-
可以赋值给变量,可以声明
-
函数会在某代码调用它时被执行。
三、为何使用函数?
-
能够对代码进行复用:只要定义一次代码,就可以多次使用它。
-
能够多次向同一函数传递不同的参数,以产生不同的结果 。
四、函数的声明
1. 显式声明
function 函数名( [参数[,参数
2.匿名声明,赋值给一个变量,
可以把这个变量名视为函数名匿名的写法,
只能是先声明,后调用函数
本质是一个对象
var 函数名 = function([参数[,参数
五、函数中的arguments和this
-
arguments:是函数对象中隐含的一个类似于数组的参数,能把js的实际参数储存起来。
-
arguments.length: 检测函数参数的个数。
-
arguments[0]:取出参数的第一个参数。
function ar(){
console.info(arguments[1]);
}
ar(1,2);
function add(){
for(var i=0;i<arguments.length;i++){
console.info(arguments[i]);
}
}
add(1,2);
function add(x,y){
console.info(x);
console.info(y);
var c=x+y;
console.info(c+arguments[2]);
}
add(1,2,50);
function add(x,y){
var c=x+y;
console.info(c);
}
function add(x,y,z){
console.info(z);
var c=x+y+z;
console.info(c);
}
add(1,2);
add(1,2,3);
总结:js函数直接忽视后面多出来的参数,无论后面加多少实参,只会匹配和形参数量相等的前面几个。如果没有对应的形参(实际参数少于形参数目)传入,值是Undefined。 如果超出形参数目的实参不传递其值,保存在arguments中,如果需要这些实参,两种方法: 1.在函数中加参数。 2.arguments[x]取对应的参数。
-
this
//模拟java写Person类
function Person(id){
//属性id`
this.id=id;
// 方法getId()
this.getId=function(){
return this.id;
}
}
var p1=new Person(123);
console.info(p1.getId());
var p2 =new Person(125);
console.info(p2.getId());
function showColor(){
console.info(this.color);
}
var zhangsan = new Object;
zhangsan.color="red";
zhangsan.kanColor=showColor;
zhangsan.kanColor();
var lisi = new Object;
lisi.color="green";
lisi.findColor=showColor;
lisi.findColor();
总结; this -- 与函数调用有关(谁调用了这个函数,this就是谁),总是指向调用该方法的对象。
因为在实例化对象的时候,总是不能确定开发者使用什么样的变量名,使用this,即可在任何地方重用同一个函数。
六、类型转换
转换函数
parseInt() 可以解析一个字符串,返回一个整数。 parseFloat() 可以解析一个字符串,返回一个小数。
console.info(parseInt("12abc"));
console.info(parseInt(" 22.5 "));
console.info(parseInt("abc"));
console.info(parseInt("abc12"));
console.info(parseFloat("12abc"));
console.info(parseFloat(" 22.5 "));
console.info(parseFloat("abc"));
console.info(parseFloat("abc12"));
console.info(parseFloat("1.2.3.4"));
注意:只有字符串前面的数字被返回,开都得和结尾允许是空格。 如果第一个字符不能被转换成数字,那么返回NaN
强制转换
Boolean(value):把给定的值转换成Boolean类型。
Number(value):把给定的值转换成数字类型(浮点或整数)。

String(value):把给定的值转换成字符串。
console.info(Boolean(""));
console.info(Boolean("hello"));
console.info(Boolean(100));
console.info(Boolean(null));
console.info(Boolean(0));
console.info(Boolean(undefined));
console.info(Number(false));
console.info(Number(true));
console.info(Number(null));
console.info(Number(0));
console.info(Number("1.5"));
console.info(Number("2.3.5"));
console.info(Number("12abc"));
var a= new Boolean();
var b= 123;
console.info(String(a));
console.info(String(b));
isNaN(x)函数用于检查其参数是否是非数字。 如果x是特殊的,不是数字(或者能转换成这样的值。),返回true, 如果x是数字,则返回false。
console.info(isNaN(123));
console.info(isNaN(-123));
console.info(isNaN(9+1));
console.info(isNaN(0));
console.info(isNaN("hello"));
console.info(isNaN("123"));

浙公网安备 33010602011771号