以下是javascript类型的注意事项:

  • null:表示尚未存在的对象,注意,尽管尚未存在,也是个对象啊,所以用typeof检测一个null值变量的结果是Object;不过,为了便于写if语句,在js中,"undefined==false", "null=false", 因此,"undefined==null"。
  • 整数:最容易犯的错误就是,忘了070其实是个八进制数,相当于十进制的56;
  • 浮点数:“在进行运算之前,真正存储的是字符串”——这应该是解释执行的本质决定的吧——直接后果是,alert(0.8)这样的语句可以正确输出,而alert(2*0.8)的输出就成了"2.40000000000000003"
  • 数字边界:数字有几个边界值,分别是Number.MAX_VALUE(最大值), Number.MIN_VALUE(最小值), Number.POSITIVE_INFINITY(正无穷), Number.NEGATIVE_INFINITY(负无穷), Infinity(无穷大,-Infinity,这个有点莫名其妙,不知道为啥又搞出一套);特别地,还有一个isFinit(iNumber)函数来判断数字是否为无穷大。
  • NaN:一些需要数字作为参数的函数,当传入的实参无法转换为数字时,往往会返回这个值;关于NaN,最重要的就是要记住NaN!=NaN,因此判断一个变量是否为NaN,一定要使用isNaN(var)函数。
  • 将字符串转换为数字:sVar.parseInt()是最常用的函数,也最容易出错,为了保险起见,最好每次调用的时候,都加上“进制”的参数,比如:a.parseInt(10),就制定了按十进制转换字符串a;Number(sVar)也是一种转换方式,不同的是,它要求整个字符串都得是有效数字,因此Number("4.5.5")将返回NaN;
  • 判断变量类型:一般情况下,可以先用typeof 运算符,如果结果是"object",再用instanceof来判断;奇怪的是,不知道是ECMAScript标准的问题还是IE实现的问题,instanceof不认为原始类型值的变量是对象,而使用constructor属性似乎可以应付所有类型的变量,如下:
 1 var temp="a string for test";
 2 //下面这句返回"string"    http://sosoft.cnblogs.com/
 3 alert( typeof temp);
 4 //下面这句返回"false"
 5 alert(temp instanceof String);
 6
 7 //下面这句就回返"true"了
 8 var temp2=new String("another new string");
 9 alert(temp2 instanceof String);
10
11 //constructor属性是很好的替代品
12 //下面这句返回"true"
13 alert(temp.constructor==String);   

http://www.cnblogs.com/sosoft/

转载于:https://www.cnblogs.com/sosoft/p/javascriptnote.html

javascript类型注意事项相关推荐

  1. JavaScript 类型总览(图)

    JavaScript 类型总览(图) 作者: aimingoo 发布时间: 2012-01-11 13:31 阅读: 3541 次 原文链接 全屏阅读 [收藏] 这个图来自于<JavaScrip ...

  2. 手把手带你写一个JavaScript类型判断小工具

    业务写了很多,依然不是前端大神,我相信这是很多'入坑'前端开发同学的迷茫之处,个人觉得前端职业发展是有路径可寻的,前期写业务是一个积累过程,后期提炼总结,比如编程思想,父子类的原型继承,还是对象之间的 ...

  3. JavaScript类型强制解释

    by Alexey Samoshkin 通过阿列克谢·萨莫什金(Alexey Samoshkin) JavaScript类型强制解释 (JavaScript type coercion explain ...

  4. JavaScript类型检测小结-http://bbs.51js.com/viewthread.php?tid=82661

    老话题了,各种方案和相关讨论都不少,简单总结下: 悠久的typeof JavaScript里只有五种基本数据类型:number, string, boolean, null, undefined. 其 ...

  5. javascript 类型数组读取二进制数据

    先建一个文件,按UTF-16大端 BOM 格式保存一个字符串:hi aleck, 使用 file API 把他按二进制方式读取到浏览器. 文件读取方法在这里: http://hi.baidu.com/ ...

  6. JavaScript加密注意事项,怎么加密JS脚本最安全?

    JavaScript加密话题 #.  JavaScript  需不需要加密? #.怎么  加密JS  最安全? #.怎么把  JS  中的URL地址.秘钥隐藏起来? #.  JavaScript加密  ...

  7. Javascript类型推断(1) - 获取token和类型

    Javascript类型推断(1) - 获取token和类型 js类型推断的三种思路 第一种思路是用传统的编译类的方法,推断是没啥好办法,但是可以用来验证. 第二种思路是利用对象的属性或方法的调用来推 ...

  8. JavaScript类型·对象·函数

    ECMAScript是一种由Ecma国际通过ECMA-262标准化的脚本程序设计语言,它往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展. ECMASc ...

  9. js函数提示 vscode_为VSCode / Monaco Intellisence添加JavaScript类型提示

    有没有办法暗示VSCode / Monaco的intellisense变量的类型. 我有一些像这样的代码 var loc = window.location; var gl = context1.ge ...

最新文章

  1. 博为峰Java技术题 ——JavaSE Java 方法Ⅲ
  2. 小结spring和struts整合的三类方式
  3. 搭建Nginx+Tomcat 负载均衡集群
  4. 华为芯片设计面试题_未来想去华为海思做芯片设计,应该做哪些努力?
  5. 用可编写脚本的终结点遍历REST应用程序
  6. 修复mysql的view_MYSQL数据损坏修复方法
  7. 【语义相似度】ESIM:语义相似度领域小模型的尊严
  8. 309. 最佳买卖股票时机含冷冻期
  9. 目录 1. 常见mime类型 1 1.1. 2.1.1. Type application 2 2.1.2. Type audio 22.1.3. Type image 32.1.4. Type t
  10. visio2019安装教程
  11. CUDA11.0+cudnn8.0.5下载安装 2021-04-30
  12. java读取ifc文件_IFC - 西北逍遥 - 博客园
  13. 手机助手+for+linux,你的手机助手(com.microsoft.appmanager) - 3.5.8 - 应用 - 酷安
  14. 测试藏宝图汉化版大图
  15. 拖动图形验证码(极验验证)
  16. 随手记获2亿美元C轮融资,随手记投资安全吗?
  17. 【逗老师带你学IT】ZoomRooms兼容硬件设计方案
  18. 国外程序员也都是996么?
  19. [文档+源码]SpringBoot+Mysql实现的宠物在线商城宠物交易平台宠物店源码
  20. 编码转换使用java_java编码转换的详细过程

热门文章

  1. ajax如何给label赋值,如何让AjaxEditableLabel显示TextField?
  2. python开源爬虫项目违法吗_Python开源爬虫项目代码:抓取淘宝、京东、QQ、知网数据...
  3. oracle 值集附加列,EBS值集知识小结
  4. 分布式理论、架构设计(自定义RPC)
  5. 学会用core dump调试程序错误
  6. Linux下的进程相关编程
  7. vue实现接受后端传过来的zip数据,axios实现
  8. python中map函数的用法
  9. 整数反转—leetcode7
  10. 手动脱UPX壳的几种方法