摘要:介绍用以获取一个变量或者表达式的类型,一般只能返回如下几个结果函数数组,对象。实际应用有的页面我们不定义但有的页面定义了,就可以需要这样的判断方法,没有定义的就不执行。
介绍 typeof
typeof用以获取一个变量或者表达式的类型,typeof一般只能返回如下几个结果:
number
boolean
string
function(函数)
object(NULL,数组,对象)
undefined。
例子:
function curFun(){}; var numberType = 123; var stringType = "123"; var booleanType = false; var obj = {}; var nullType = null; var arrayType = []; var unden; console.log(typeof curFun); //function console.log(typeof numberType);//number console.log(typeof stringType);//string console.log(typeof booleanType); //boolean console.log(typeof obj); //object console.log(typeof nullType); //object console.log(typeof arrayType); //object console.log(typeof unden); //undefined
我们可以使用typeof来获取一个变量是否存在,如if(typeof a!="undefined"){},而不要去使用if(a)因为如果a不存在(未声明)则会出错,
正因为typeof遇到null,数组,对象时都会返回object类型,所以当我们要判断一个对象是否是数组时或者判断某个变量是否是某个对象的实例则要选择使用另一个关键语法instanceof
instanceofinstanceof用于判断一个变量是否某个对象的实例
var arr = new Array(); console.log(arr instanceof Array); //true console.log(arr instanceof Object) //true,因为Array是object的子类 function test(){}; var testInstance = new test(); console.log(testInstance instanceof test); //truejs判断变量是否未定义的代码
一般如果变量通过var声明,但是并未初始化的时候,变量的值为undefined,而未定义的变量则需要通过 "typeof 变量"的形式来判断,否则会发生错误。
实际应用:
variable有的页面我们不定义,但有的页面定义了,就可以需要这样的判断方法,没有定义的就不执行。
if("undefined" != typeof variable){ if(variable=="abc"){ console.log("成功"); } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/89778.html
摘要:浅拷贝深拷贝浅拷贝的问题如果父对象的属性等于数组或另一个对象,那么实际上,子对象获得的只是一个内存地址,而不是真正拷贝,因此存在父对象被篡改的可能。 浅拷贝: function extendCopy(p) { var c = {}; for (var i in p) { c[i] = p[i]; } return c; } 深拷贝: function deepCopy(p...
摘要:一返回值共有种二变量声明方法声明一个变量,可以将其初始化为一个值声明一个块级作用域变量,可以将其初始化一个值声明一个只读的常量使用的注意事项不支持块级作用域存在变量提升举例由于变量声明提升,这段代码相当于使用的注意事项块级作用域 一、type of 返回值共有7种:undefined, object, boolean, number, string, symbol, function ...
摘要:解耦优势代码复用,单元测试。常用比较误区可同时判断,可用来判断对象属性是否存在。使用作判断无法进行充分的类型检查。文件中应用常量参考文档高级程序设计作者以乐之名本文原创,有不当的地方欢迎指出。 showImg(https://segmentfault.com/img/bVburXw?w=500&h=400); 编写可维护性代码 可维护的代码遵循原则: 可理解性 (方便他人理解) 直观...
摘要:比如或者都会导致函数返回值类型时。和特性一样,等于是函数返回值中的或。注意对比下面的写法对于,它的返回值是可迭代的对象,并且每个类型都是或者。首先是不支持方法重载的,是支持的,而类型系统一定程度在对标,当然要支持这个功能。 1 引言 精读原文是 typescript 2.0-2.9 的文档: 2.0-2.8,2.9 草案. 我发现,许多写了一年以上 Typescript 开发者,对 T...
阅读 1290·2021-11-24 09:39
阅读 2632·2021-09-30 09:47
阅读 1325·2021-09-22 15:15
阅读 2410·2021-09-10 10:51
阅读 1954·2019-08-30 15:55
阅读 2977·2019-08-30 11:06
阅读 896·2019-08-30 10:53
阅读 830·2019-08-29 17:26