JavaScript高级进阶二

function add(number) {
	alert(number);
	alert(number + 10);
}

add();  
//  先是弹出undefined,它是js的5种原始值之一,
//然后弹出NaN, not a number.

add(10,30);
//先弹出10,然后弹出20.参数中的30由于没有和它匹配的,所以就自动丢失

 

 在java中,方法的重载的要求是:方法签名一致,参数的类型或者是个数不同,那么在js中对于参数的类型是控制不了的,所以要模拟实现方法的重载只能从个数着手了。在js中给我们内置了一个arguments 参数,我们可以通过它来实现重载的功效。

function add() {

	if(1 == arguments.length) {
		alert(arguments[0] + 10);
	}
	 else if(2 == arguments.length) {
		alert(arguments[0] + arguments[1] + 10);
	}
}
add(10);
add(4,6);

 js中的对象中还有一个内置参数length,

alert(add.length);返回的是add方法所接收参数的个数。

 

JavaScript中有五种原始值:Undefined,Null,Boolean,Number,String

Undefined数据类型的值只有一个:undefined

Null数据类型的值只有一个:null

Boolean数据类型的值只有两个:true,false

var s ;
alert(s);   //undefined  只声明未赋值的时候是undefined

 

typeof的返回值有五个:undefined,boolean,number,string,object 

var s = "ddd";
alert(typeof s);  //string  

var s = new String("dd");
alert(typeof s);  //object

 

对于函数来说,如果其不返回值,那么其返回值就为undefined

function test(){
}

alert(test());  //undefined. 当函数没有返回值或者是return;的时候,返回的都是undefined

function test(){
     return true;
}

alert(test()); //true

function test(){
     return true;
}

alert(test); //打印出方法的所有代码

 

 


null与undefined的关系:undefined实际上从null派生而来

alert(undefined == null);  //true

 


对于函数定义中的变量来说,加var表示局部变量,不加var表示全局变量

function test() {
	var s = "sss";
}
test();
alert(s);   //报s未定义错误


function test() {
	s = "sss";
}
test();
alert(s);   // sss

 强烈建议在声明变量的时候要加var,否则可能会造成内存泄露

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值