对于js标签与变量类型的细节枚举

对于js标签与变量类型的细节枚举


一、标签细节

对于常用的 <script> 标签,除去src,type,charset属性外还可以设置async,defer属性

以下是对两属性的作用解析

async:表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或 等待加载其他脚本,
但只对外部脚本文件(即外联js文件)有效。同时需要注意的是,该属性并不能保证js文件的执行先后顺序
其意义仅在于使页面不等待脚本的下载,异步加载界面,使用户有更好的体验

defer:表示脚本可以延迟到文档完全被解析和显示之后再执行,但同样只对外部脚本文件有 效。
这意味着我们的<script>标签可以不必为了防止js某些id指向为空,每次都放到body的最后面。

 

二、变量类型细节

对于常用的变量(字符,布尔,浮点,null等)来说,他们的计算也有一些需要注意的细节

undefined与null:乍看毫无关系的两者其实有着紧密联系,undefined 值实际上是派生自null 值的
null实际上是表示一个空对象的指针。对此我们可以有如下代码检验。

var age;
console.log(age);
if(age==null){
    console.log(1);
}
else{
    console.log(0);
}

在这里我们声明了age变量,但未定义任何类型,并输出age,而后用if来检测agenull的关系是否相等来验证。

其结果如下
Number类型细节:其八进制书写格式在严格模式下是无效的

浮点类型细节:浮点类型数据在进行算术计算时其精确度远远不如整数,如0.1 加0.2的结果不是0.3,而是0.30000000000000004

NaN类型细节:其含义为非数值,用于表示一个本来要返回数值的操作数未返回数值的情况,且NaN类型数据与任何数据都不相等

字符串类型细节:字符串类型的值一经创建就是不可变的,仅能由新的字符串覆盖
 

对象的数值转换细节:对于对象,将调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换 的结果是NaN,则调用对象的toString()方法,然后再次依照前面的规则转换返回的字符串值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值