zoukankan      html  css  js  c++  java
  • js typeof function

    if (that == null || "undefined" == typeof that) {
    return;
    }
            var bcd;  //未定义   undefined
            function Check_data_type(obj) {
                if ("undefined" == typeof obj) {
                    return 0;
                }
            }
            var ts = Check_data_type(1);  //未定义  undefined
          var bcd;  //未定义   undefined
            bcd = bcd || {}; //当bcd为未定义时,直接赋值为对象
            bcd.abcd = bcd.abcd || {}; // 当bcd为未定义时候 报错;
            var abc=null;
            //abc = abc || {}; //abc 为null 把abc 赋值为对象
            abc = abc || ""; //为 null 把abc的 赋值为空字符串

     严格模式下 

       "use strict";  //严格模式下
     var  tt =  typeof win_handle_data;
    win_handle_data = "function" == typeof win_handle_data || new Function(); //开启严格模式 这句话会报错

     严格模式下

      "use strict";
     var  tt =  typeof win_handle_data;
     //不加 var 
     //win_handle_data =  function (){}; // 报错! win_handle_data is not defined
    // win_handle_data = new function (){};// 报错! win_handle_data is not defined
    // win_handle_data =  function test(){}; // 报错! win_handle_data is not defined
     //win_handle_data = new Function();// 报错! win_handle_data is not defined
    
    //加 var
    //var win_handle_data =  function (){}; // ok     //ƒ win_handle_data()
    //var win_handle_data = new function (){};// ok   是一个对象
    //var win_handle_data =  function test(){}; // ok   //ƒ test()
    //var win_handle_data = new Function();// ok     //ƒ anonymous( )
    
    
     "function" == typeof win_handle_data && console.log(1111);  //判断 win_handle_data 是否是函数,如果是 就执行, 
     //"function" == typeof win_handle_data && r = win_handle_data(r);  //判断 win_handle_data 是否是函数,如果是 就执行, 
     var t = "function" == typeof win_handle_data;
    
    //不加 var
    //win_handle_data = false ||console.log(00); //开启严格模式 这句话会报错  在严格模式下不允许使用八进制文本
    //win_handle_data = false || function(){};  // 报错! win_handle_data is not defined
    //win_handle_data = (false || function(){});  // 加括号 报错! win_handle_data is not defined
    //win_handle_data = false || new Function(); //报错! win_handle_data is not defined
    
    //加 var
     var  win_handle_data = false || function(){}; /// ok 
    //加 var
    var  win_handle_data = false || function(data){console.log(data) }; /// ok 
    var  win_handle_data = "function" == typeof win_handle_data || new Function(); //开启严格模式 win_handle_data  会被赋值为  true 和false
    win_handle_data("123"); //执行这个函数

    //解决

    var  win_handle_data = false || function(data){console.log(data) }; /// ok 
     "function" == typeof win_handle_data &&win_handle_data("123");  //判断 win_handle_data 是否是函数,如果是 就执行, 
          "function" == typeof win_handle_data && (r = win_handle_data(r));  //右侧赋值 要加括号
         先检测 是否是函数, "function" == typeof callback && callback();
  • 相关阅读:
    第一章 基础知识
    第1条:考虑用静态工厂方法代替构造器
    spring cloud(断路器——初学五)
    spring cloud(断路器——初学四)
    spring cloud(服务消费者(利用feign实现服务消费及负载均衡)——初学三)
    在阿里云的ubuntu服务器上安装xampp时出现unable to realloc unable to realloc 8380000 bytes错误
    laravel中ubuntu下执行php artisan migrate总是报错
    windows下安装php依赖关系管理工具composer
    apk下载的网址生成一个二维码
    android apk的签名和权限问题
  • 原文地址:https://www.cnblogs.com/enych/p/11566845.html
Copyright © 2011-2022 走看看