[Javascript] instruction character 操作符, Function

1. +

If String + Number / Number + String
  The result (data type): String
  eg: "5"+6 //"56"
      6+"5" //"65"

2. -

If String - Number / Number - String
  The result (data type): Number
  eg: "12"-2 //10 
      12-"2" //10 

2.1 sort()

  参数是按照string来进行排序的
  如果是number类型 则会出现这种情况:     
    var a=[11,10,100,60];
    console.log(a.sort());//10,100,11,60
 避免这种情况使用:
    var a=[11,10,100,60];
    console.log(a.sort(function(x,y){
          return x-y;
          })); //[10, 11, 60, 100] 

3. 条件操作符

   var max=(a>b)? a:b;

   //annotation
   if(a>b){
      max=a;
      }else{
      max=b;
      }

4. Function

Create a function

 4.1 函数声明 declaration
   function a(){}
 4.2 字面量/匿名函数/函数表达式 expression
   var a =function(){}
 4.3 构造函数
   function A(){}

4.1 VS 4.2 函数声明 VS 函数表达式 VS 变量提升

函数声明会优先读取

  Javascript 优先读取和解析函数声明declaration
  而 表达式expression像变量 会到此步骤再解析

变量提升: 变量会提升到最前面 先被捕捉到

  <script type="text/javascript">
    var a="hello";
    function f(){
       console.log(a);
       var a="world";
    }
    f();//undefined 因为在function f中变量a 变量提升 
          所以就不去理会在全局中的var a="hello"; 
          但是在function中的变量a又是在console.log(a);之后 所以为undefined 
  </script>

Summary:

变量提升是为了对当前作用域 check是否有variable,     
if 检测到了, 则执行在此scope的variable, 
if 没有检测到,则沿着scope chain, 往上找, 直到全局。
但是variable又是到了此步骤才执行,所以是Undefined.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值