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();