JS高级程序设计笔记-ECMA基础

Posted nerrol

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS高级程序设计笔记-ECMA基础相关的知识,希望对你有一定的参考价值。

一、原始值和引用值

原始值:存储在栈(stack)中的简单数据段,它们的值直接存储在变量访问的位置。

引用值:存储在堆(heap)中的对象,存储在变量处的值是一个指针,指向存储对象的内存处。

二、原始类型:(基本数据类型)

undefined、null、boolean、number、string

三、typeof运算符(判断基本数据类型)

输出结果:undefined、boolean、number、string、object

1、undefined

当一个未声明的变量和一个声明但并未初始化的变量使用typeof都会输出undefined,如下代码所示

var value1;
//var value2
console.log(typeof value1);//undefined
console.log(typeof value2);//undefined

PS:当函数无明确返回值时,返回的也是undefined。

2、null类型

undefined派生自null。null表示尚未存在的对象。

3、number类型

(1)八进制:首数字为0;

(2)十六进制:首数字为0x;

(3)ECMAScript默认把6个或6个以上的前导0的浮点数转换为科学计数法;

(4)几个被定义为Number类型的特殊值:

Number.MAX_VALUE

Number.MIN_VALUE

(5)isFinit()方法:确定该数不是无穷大

(6) NaN (非数),特性:不能用于算数计算;

                与自身不相等;

(7) isNaN()方法:确定是否为NaN;

4、String类型

首字符从位置0开始,字符串最后一个字符的位置是字符串的长度减1;

四、转换

1、转换成字符串:toString()方法

Boolean类型:输出“true”或“false”

Number类型:根据两种模式:

       默认模式:相应数字值得字符串输出;

       基模式:输出不同进制形式数字对应的字符串;

2、转换成数字

只有对string类型调用这些方法才能正确运行,对其他类型返回NaN;

parseInt():

运行机制:从位置0开始查找判断是否为有效数字,如果不是返回NaN,如果是则继续向后查找,直到找到非有效数字,将之前的字符串转换为数字。

PS:parseInt()方法有基模式,将二进制、八进制、十六进制的字符串转化为整数,由第二个参数指定。

parseFloat():

运行机制:从位置0开始查找每个字符,直到出现第一个非有效字符,将之前的字符串转化为数字。第一个出现的小数点是有效字符,第二个是无效的。

PS:字符串必须以十进制形式表示浮点数,不能用八进制或十六进制形式,没有基模式。

3、强制类型转换

Boolean(value)

(1)转换成Boolean类型;

(2)转换的值至少是有一个字符的字符串、非0数字或对象时,返回true;

(3)转换的值为空字符串、数字0、undefined、Null,返回false;

Number(value):转换成数字;

(1)与parseInt(),parseFloat类似,但转化的是整个值,不是部分值。如果字符串值能完整的被转换,Number()将判断调用parseInt()还是parseFloat()。

String(value):将任何值转换成字符串;

以上是关于JS高级程序设计笔记-ECMA基础的主要内容,如果未能解决你的问题,请参考以下文章

读书笔记 - javascript 高级程序设计 - 第一章 简介

《JavaScript高级程序设计》读书笔记

[笔记]《JavaScript高级程序设计》- JavaScript简介

《JavaScript高级程序设计》学习笔记——面向对象编程

菜鸟笔记 一.net基础

JavaScript高级程序设计(读书笔记)