JavaScript高级程序设计笔记记录(三)基本概念【下】

第三章 基本概念

  • 语句

这里对于switch的一个小补充吧~

switch ("hello world") { 
 case "hello" + " world": 
 alert("Greeting was found."); 
 break; 
 case "goodbye": 
 alert("Closing was found."); 
 break; 
 default: 
 alert("Unexpected message was found."); 
} 

以上会输出 Greeting was found

var num = 25; 
switch (true) { 
 case num < 0: 
 alert("Less than 0."); 
 break; 
 case num >= 0 && num <= 10: 
 alert("Between 0 and 10."); 
 break; 
 case num > 10 && num <= 20: 
 alert("Between 10 and 20."); 
 break; 
 default: 
 alert("More than 20."); 
} 

以上会输出 More than 20

  • 函数

对于参数的获取我们可以直接采用arguments的方式对参数进行判断

实现函数的假重载,文章后面解释了当然对于ECMAScript不能够做到真正的重载,因为不存在函数签名这种东西,而函数签名是指在编写函数语句的时候,编译器就会使用该调用创建一个函数签名。再把它与函数原型/或定义中可用的函数签名集比较。重载的具体解释可以看这里。https://www.cnblogs.com/Daringoo/p/4392514.html。如果找到匹配的函数名,就建立所调用的函数。但在实际的操作中相同的名字组成的函数会被覆盖。所以叫做假重载。

function doAdd() { 
  if(arguments.length == 1) { 
  alert(arguments[0] + 10); 
  } else if (arguments.length == 2) { 
  alert(arguments[0] + arguments[1]); 
  } 
} 
 //20 
console.log(doAdd(10))
 //50 
console.log(doAdd(30, 20))

这里需要注意的事arguments[1]之类的测试 虽然会和第二个参数的值产生同步,但他们的内存空间是独立的。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值