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();
  • 相关阅读:
    IIS 6.0下安装SSL数字证书实现https访问
    使用SQL2005自带扩展函数对字符串进行MD5加密(转)
    Posix多线程编程学习笔记(三)—信号灯(1)--转自湖光倒影
    利用pthread_mutex对多进程上锁
    ObjectiveC中的锁
    Linux内存管理之mmap详解
    cocoa应用程序生命周期
    多线程编程互斥锁
    [New Book]Flex第一步 国内第一本关于Flex的书籍
    ASP.NET中实现二级或多级域名(修改UrlRewrite)
  • 原文地址:https://www.cnblogs.com/enych/p/11566845.html
Copyright © 2011-2022 走看看