《javascript高级编程》读书笔记(两)javascript基本概念

2022-07-06 12:41:08 浏览数 (1)

大家好,又见面了,我是全栈君。

第三章:基本概念

ECMAScript那里5种简单数据类型(也称基本数据类型):UndefinedNullBooleanNumberString,另一种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。

typeof是一个操作符而不是函数.

Undefined类型:此类型仅仅有一个值,即undefined.在使用var声明变量但未对其初始化时。这个变量的值就是undefined.

var message;

var message2 = undefined;

alert(message); // ”undefined”

alert(message == undefined); // true

alert(typeof message); // ”undefined”

alert(message == undefined); // true

alert(age); // 产生错误

alert(typeof age); // ”undefined”

Null类型:此类型仅仅有一个值,即null.表示一个空对象指针。

var car = null;

alert(typeof car); // ”object”

if(car != null){

//对car对象运行操作

}

undefined值是派生自null值的。

alert(null == undefined); //true

仅仅要意在保存对象的变量还没有真正保存对象,就应该明白地让该对象保存null值。

Number类型:

八进制的第一位是0,十六进制的前两位是0x.

科学计数法:e

ECMAScript所能表示的最小和最大的值各自是:Number.MIN_VALUE与Number.MAX_VALUE,超出范围。会被成Infinity值(即Number.POSITIVE_INFINITY)或者–Infinity(即Number.NEGATIVE_INFINITY).

NaN(Not a Number)

1. 不论什么涉及到NaNde 操作都会返回NaN.

2. NaN与不论什么值都不相等,包含NaN本身。

alert( NaN == NaN ); // false

IsNaN()在接受到一个值之后,会尝试将这个值转换为数值。

alert(isNaN(NaN)); //true

alert(isNaN(10)); //false

alert(isNaN(“10”)); //false

alert(isNaN(“blue”)); //true

alert(isNaN(true)); //false(能够被转换成1)

isNaN也适用于对象,会先调用对象的valueOf()方法,假设不能转换为数值。再基于返回值调用toString()方法。

数值转换:

能够将非数值转换成数值的函数:

1. Number() 用于不论什么数据类型,不解析八进制

var str ;

var str2 = null;

var str3 = “hello world”;

Number(str); //NaN

Number(str2); //0

Number(str3); //NaN

Number(“”); //0

Number(“000011”); //11

Number(true); //1

Number(“0xA”); //10

一元加操作符的操作与Number()同样。

2. parseInt() 用于字符串类型(忽略前面的空格),可解析八进制

parseInt(“ 1234blue”); // 1234

parseInt(“”); // NaN

parseInt(“0xa”); // 10

parseInt(22.5); //22

parseInt(“70”,8); //56 (指定基数。即8进制)

parseInt(“10”,2); // 2

3. parseFloat() 用于字符串类型(忽略前面的空格),仅仅解析10进制

parseFloat(“1234blue”); //1234

parseFloat(“0xA”); //0

parseFloat(“22.34.5”); //22.34

parseFloat(“0908.5”); //908.5

parseFloat(“3.125e7”); //31250000

String类型:能够用双引號。也能够用单引號表示。

除了null与undefined值没有toString(),其它都有。可是null与undefined能够调用String(),返回对应的字符串。即null值返回“null”,undefined值返回“undefined”。

toString()能够传入基数參数,表示输出的进制表示。如:

var num = 10;

number.toString(2); // “1010”

要把某个值转换为字符串,能够使用加号操作符把它与一个空字符串(””)加在一起。

with语句:

with语句的作用是将代码的作用域设置到一个特定对象中。目的是简化多次编写同一个对象的工作。样例见···

可是大量使用with语句会导致性能下降,同一时候也会给调试代码造成困难。因此在开发大型应用程序时,不建议使用with语句。

switch语句:

switch语句在比較值时使用的是全等操作符。因此不会发生类型转换(比如。字符串“10”不等于数值10).

函数的返回值:

除了return语句外。没有不论什么声明表示该函数返回一个值。

另外。return语句也能够不带不论什么返回值,此时,函数在停止运行后将返回undefined。

ECMAScript的函数參数:重点

命名的參数仅仅提供便利,但不是必须的。解析器不会验证命名參数。

ECMAScript中的參数在内部是一个数组来表示的。能够通过arguments对象来訪问这个參数数组,从而訪问每个參数。

改动arguments对象中的值会自己主动反映到相应的命名參数。可是改动命名參数不会改变arguments相应的值。

没有传递值得命名參数将自己主动被赋予undefined值。

ECMAScript中的全部參数传递的都是值,不可能通过引用传递參数。

ECMAScript功能不能超载,您可以覆盖。

版权声明:本文博主原创文章。博客,未经同意不得转载。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117061.html原文链接:https://javaforall.cn

0 人点赞