javascript和“主流大型语言”(c# JAVA C++等)的差异

1.javascript不支持overload,因为它的函数参数是以数组方式来实现的,没有固定的参数签名,所以无法重载。

2.javascript的基本类型只有5个:number string boolean null undefined,注意,javascript的string就是基本类型。跟其他语言不同。

3.javascript函数的参数传递并没有什么引用类型按值传递或值类型按引用类型传递等等的那么复杂,只有简单的一种方式:按值传递。甭管是什么类型参数。

4.五大类型变量除了null,其余的typeof都是该类型名,只有null的typeof是object。原因是因为在ECMAScript构造过程中把null当成一个空指针对象来表示,所以它为object。

5.变量的作用域的分歧:javascript中,用{}来作为封闭域不靠谱。如循环语句或条件语句的{}构不成封闭域,而function在书写时也会构成或不构成。示例代码:

 

if(true){
 var a=1;
}
alert(a);//1

function add(){
 var sum=arguments[0]+arguments[1];
 return sum;
}
var s=add(1,2);
alert(sum);//产生错误

function adds(){
 sum=arguments[0]+arguments[1];//去掉var
 return sum;
}
var sb=adds(1,2);
alert(sum);//3

 

 

转载于:https://www.cnblogs.com/JhoneLee/p/3480726.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值