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();
posted @ 2019-09-22 11:52  enych  阅读(1506)  评论(0编辑  收藏  举报