资讯专栏INFORMATION COLUMN

JavaScript红宝书笔记(一)---JS概述、变量及基本数据类型等

sevi_stuo / 2018人阅读

摘要:是一个数值可以被转换成数值不能转换成数值可以被转换成数值十六进制数八进制数十进制数十六进制数可以避免,无法使用方法转换成字符串的情况

1.JavaScript由三个部分组成:ECMAScript(提供核心语言功能)、DOM(文档对象模型,提供访问和操作网页内容的方法和接口)、BOM(浏览器对象模型,提供与浏览器交互的方法和接口)

2.JavaScript概念:是一种专为与网页交互而设计的脚本语言

3.标识符命名规则:首字符必须是字母/下划线(_)/美元符号($),其余字符由字母/下划线(_)/美元符号($)/数字组成

4.ECMAScript基本数据类型:Undefined、Null、Boolean、Number、String
复杂数据类型:Object

5.typeof检测Object或者Null的数据类型会返回“object”,因为特殊值null会被认为是一个空的对象引用
Safari5、Chrome7版本之前的浏览器调用typeof检测正则表达式会返回“function”,其它浏览器返回“object”

6.alert(未初始化变量)会显示“undefined”;
alert(未声明变量) 会产生错误;

var message; //未初始化变量
//var age  未定义变量
alert(message);     //"undefined"
alert(age);   //产生错误

alert(typeof 未初始化变量) 返回“undefined”
alert(typeof 未声明变量) 返回“undefined”

alert(typeof message);  //"undefined"
alert(typeof age);  //"undefined"

因为实际上无论对哪种变量也不可能执行真正的操作

7.null值表示一个空对象指针,这也就是检测数据类型返回“object”的原因;
undefined派生至null值,所以null == undefined 为true;
有意初始化变量为对象,可以设置值为null,即空对象指针

8.Boolean类型的值区分大小写,True和False并不是其值,只是普通标识符

9.

var octalNum1 = 070; // 八进制的 56
var octalNum2 = 079; // 无效的八进制数值——解析为 79
var octalNum3 = 08; // 无效的八进制数值——解析为 8

var hexNum1 = 0xA; // 十六进制的 10
var hexNum2 = 0x1f; // 十六进制的 31

10.NaN 与任何值都不相等,包括 NaN 本身

alert(NaN == NaN); //false

isNaN()函数,不能被转换为数值的值都会导致这个函数返回 true

alert(isNaN(NaN)); //true
alert(isNaN(10)); //false( 10 是一个数值)
alert(isNaN("10")); //false(可以被转换成数值 10)
alert(isNaN("blue")); //true(不能转换成数值)
alert(isNaN(true)); //false(可以被转换成数值 1)

11.Number()、parseInt()规则:
如果第一个字符不是数字字符或者负号, parseInt()就会返回 NaN;
如果第一个字符是数字字符, parseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到了
一个非数字字符。

alert(isNaN(NaN)); //true
alert(isNaN(10)); //false( 10 是一个数值)
alert(isNaN("10")); //false(可以被转换成数值 10)
alert(isNaN("blue")); //true(不能转换成数值)
alert(isNaN(true)); //false(可以被转换成数值 1)

var num1 = parseInt("1234blue"); // 1234
var num2 = parseInt(""); // NaN
var num3 = parseInt("0xA"); // 10(十六进制数)
var num4 = parseInt(22.5); // 22
var num5 = parseInt("070"); // 56(八进制数)
var num6 = parseInt("70"); // 70(十进制数)
var num7 = parseInt("0xf"); // 15(十六进制数)

12.String()可以避免,null、undefined无法使用toString()方法转换成字符串的情况

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104499.html

相关文章

  • JavaScript宝书笔记(四)---变量、作用域和内存问题

    摘要:在操作对象时,实际上是在操作对象的引用而不是实际的对象。为此,引用类型的值是按引用访问的。标记清除是目前主流的垃圾收集算法,这种算法的思想是给当前不使用的值加上标记,然后再回收其内存 1.在操作对象时,实际上是在操作对象的引用而不是实际的对象。为此,引用类型的值是按引用访问的。 2.当从一个变量向另一个变量复制引用类型的值时,两个变量实际上将引用同一个对象,因此,改变其中一个变量,就会...

    imtianx 评论0 收藏0
  • Effective JavaScript读书笔记

    摘要:如果为假值,不传或者传入,函数都会返回但是,传入这个值是完全有可能的,所以这种判断形势是不正确的或者使用来判断也可以原始类型优于封装类型对象拥有六个原始值基本类型布尔值,数字,字符串,,和对象。 作为一个前端新人,多读书读好书,夯实基础是十分重要的,正如盖楼房一样,底层稳固了,才能越垒越高。从开始学习到现在,基础的读了红宝书《JavaScript高级程序设计》,犀牛书《JavaScri...

    zhoutao 评论0 收藏0
  • JavaScript宝书笔记(二)---操作符语句

    摘要:与相乘,结果为与非数值相乘,结果为或者除以,结果为除以,结果为如果是非零的有限数被零除,则结果是或总的来说,得出的结果为不可预测的基本都为任何操作数与进行关系比较,结果都是。实际开发不建议使用语句,会造成调试的困难增加 1.负数二进制存储使用的格式是二进制补码,计算一个数值的二进制补码步骤如下: (1)取该值的绝对值的二进制(2)取反码(3)反码+1,从而得出补码 2.位操作: (...

    AlphaWatch 评论0 收藏0
  • 前端补集 - 收藏集 - 掘金

    摘要:原文地址一个非常适合入门学习的博客项目前端掘金一个非常适合入门学习的项目,代码清晰结构合理新闻前端掘金介绍一个由编写的新闻。深入浅出读书笔记知乎专栏前端专栏前端掘金去年的一篇老文章,恰好今天专栏开通,迁移过来。 破解前端面试(80% 应聘者不及格系列):从闭包说起 - 掘金修订说明:发布《80% 应聘者都不及格的 JS 面试题》之后,全网阅读量超过 6W,在知乎、掘金、cnodejs ...

    YorkChen 评论0 收藏0
  • 前端补集 - 收藏集 - 掘金

    摘要:原文地址一个非常适合入门学习的博客项目前端掘金一个非常适合入门学习的项目,代码清晰结构合理新闻前端掘金介绍一个由编写的新闻。深入浅出读书笔记知乎专栏前端专栏前端掘金去年的一篇老文章,恰好今天专栏开通,迁移过来。 破解前端面试(80% 应聘者不及格系列):从闭包说起 - 掘金修订说明:发布《80% 应聘者都不及格的 JS 面试题》之后,全网阅读量超过 6W,在知乎、掘金、cnodejs ...

    AbnerMing 评论0 收藏0

发表评论

0条评论

sevi_stuo

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<