博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript 检验变量
阅读量:4552 次
发布时间:2019-06-08

本文共 2256 字,大约阅读时间需要 7 分钟。

创建: 2019/02/20

迁入: 删除【WIP】标签(因为随时更新, 不存在完成不完成)

    从【】迁入typeof

更新: 2019/03/25 补充静态变量与参照变量

更新: 2019/06/06 增加==便于找到false判断, 增加false也是

 

parseInt, parseFloat, isNaN, Object.getPrototypeOf,

 静态变量与参照变量

 

 静态变量  数值,字符串, true/false, undefined/null, Symbol
 参照变量  除了静态变量外的一切量

 

 类相关
 判断类型
 typeof
 返回对象值数据类型,字符串 
typeof "A" //string
 
 数据  返回值 
 数字和NaN  "number"
 字符串  "string"
 未定义值
 (就一个undefined)
 "undefined"
 空值null  "object"
 符号
 Symbol("sample")
 "symbol"
 函数以外的对象  "object"
 函数  "function"
   
   
 instanceof  
a instanceof A // 对象 instanceof 构造函数function F() {};var obj = new F();console.log(obj instanceof F); // trueconsole.log(obj instanceof Object); // trueconsole.log(obj instanceof Date); // false

 

 prototype.isPrototypeOf()  
prototype.isPrototypeOf(对象);function F() {};var obj = new F();console.log(F.prototype.isPrototypeOf(obj)); // trueconsole.log(Object.prototype.isPrototypeOf(obj)); // trueconsole.log(Date.prototype.isPrototypeOf(obj)); // false

 

 

 属性相关

 判断指定属性是否存在

 in

 注: 包括继承的(__proto__的)

 

var a = { a: 1 };  var b = Object.create(a, {    b: {      value: 1,      writbale: true,      enumerable: true,      configurable: true    }  });  console.log(b);  console.log('------------------in--------------------');  console.log('b' in b); // true  console.log('a' in b); // true  console.log('--------------hasOwnProperty---------------');  console.log(b.hasOwnProperty('b')); // true  console.log(b.hasOwnProperty('a')); // false

 

 Object.prototype.hasOwnProperty(key)

 注: 仅验证当前类(当前的prototype)

 

var a = { a: 1 };  var b = Object.create(a, {    b: {      value: 1,      writbale: true,      enumerable: true,      configurable: true    }  });  console.log(b);  console.log('------------------in--------------------');  console.log('b' in b); // true  console.log('a' in b); // true  console.log('--------------hasOwnProperty---------------');  console.log(b.hasOwnProperty('b')); // true  console.log(b.hasOwnProperty('a')); // false

 

 

 

 Object.is(value1, value2)  判断value1和value2是否相同
 Object.isExtensible(obj)  判断是否可以扩展
 Object.isFrozen(obj)  判断是否被冻结
 Object.isSealed(obj)  判断是否受保护 
 运算符

 

 与运算符  
a && b

 若a可转换为true,则返回b;否则,返回a

 或运算符
a || b

 若a可转换为true, 返回a; 否则返回b

 非运算符  
!a

若a可转换为true, 返回false; 否则返回true

   
   

 

 会被转换为false的表达式

==

 ● null

 ● NaN

 ● 0

 ● "", '', ``

 ● undefined

 ● false

   
   

转载于:https://www.cnblogs.com/lancgg/p/10405214.html

你可能感兴趣的文章
盒模型详解
查看>>
bzoj2157 旅游
查看>>
bzoj5016 [Snoi2017]一个简单的询问
查看>>
poj2417 bzoj3239 Discrete Logging(bsgs)
查看>>
UVa10054 - The Necklace(欧拉回路【输出带来的麻烦)
查看>>
string和stringbuffer的区别 集合的作用 ArrayList vector linklist hashmap hashtable collection和collections...
查看>>
6月27日 ajax
查看>>
iOS开发之画图板(贝塞尔曲线)
查看>>
4嵌入式作业io
查看>>
IntelliJ Idea编译报错:javacTask: 源发行版 1.7 需要目标发行版 1.7
查看>>
Cognos中新建SQLserver数据源的步骤
查看>>
HttpClient连接超时及读取超时
查看>>
SQL优化方法
查看>>
SEO必须掌握的高级搜索指令
查看>>
生产者消费者模型
查看>>
ORACLE 字符串超长问题解决方案
查看>>
使用ZooKeeper协调多台Web Server的定时任务处理(方案1)
查看>>
20171116 每周例行报告
查看>>
[C#] SHA1校验函数用法
查看>>
linux 下 VMware 提示Unable to change virtual machine power state:
查看>>