怎么建立网站数据库连接,沈阳市网站建设公司,网站建设倒计时单页源码,番禺网站JavaScript高级程序设计(第4版)读书分享笔记记录 适用于刚入门前端的同志 ECMAScript 有 6 种简单数据类型#xff08;也称为原始类型#xff09;#xff1a;Undefined、Null、Boolean、Number、String 和 Symbol#xff08;es6新增#xff09;。 还有一种复杂数据类型叫… JavaScript高级程序设计(第4版)读书分享笔记记录 适用于刚入门前端的同志 ECMAScript 有 6 种简单数据类型也称为原始类型Undefined、Null、Boolean、Number、String 和 Symboles6新增。
还有一种复杂数据类型叫 Object对象目录 typeof 操作符 Undefined 类型 Null 类型 Boolean 类型 Number 类型 浮点值 NaN 数值转换 String 类型 String() 模板字面量 字符串插值 Symbol 类型 Object 类型 typeof 操作符 对一个值使用 typeof 操作符会返回下列字符串之一 undefined表示值未定义 boolean表示值为布尔值 string表示值为字符串 number表示值为数值 object表示值为对象而不是函数或 null function表示值为函数 symbol表示值为符号。let message some string;
console.log(typeof message); // string
console.log(typeof(message)); // string
console.log(typeof 95); // number Undefined 类型 Undefined 类型只有一个值就是特殊值 undefined。当使用 var 或 let 声明了变量但没有初始 化时就相当于给变量赋予了 undefined 值 Null 类型 Null 类型同样只有一个值即特殊值 null。逻辑上讲null 值表示一个空对象指针这也是给 typeof 传一个 null 会返回object的原因 let car null;
console.log(typeof car); // object Boolean 类型 Boolean布尔值类型是 ECMAScript 中使用最频繁的类型之一有两个字面值true 和 false。 不同类型与布尔值之间的转换规则 //理解以上转换非常重要因为像 if 等流控制语句会自动执行其他类型值到布尔值的转换例如
let message Hello world!;
if (message) { console.log(Value is true);
}
Number 类型
浮点值
let floatNum1 1.1;
let floatNum2 0.1;
NaN
有一个特殊的数值叫 NaN意思是“不是数值”Not a Number用于表示本来要返回数值的操作失败了而不是抛出错误。isNaN()函数该函数接收一个参数可以是任意数据类型然后判断这个参数是否“不是数值”。 console.log(isNaN(NaN)); // true
console.log(isNaN(10)); // false10 是数值
console.log(isNaN(10)); // false可以转换为数值 10
console.log(isNaN(blue)); // true不可以转换为数值
console.log(isNaN(true)); // false可以转换为数值 1 数值转换 有3 个函数可以将非数值转换为数值Number()、parseInt()和 parseFloat()。 Number()函数基于如下规则执行转换 布尔值true 转换为 1false 转换为 0。 数值直接返回。 null返回 0。 undefined返回 NaN。 字符串有相应规则具体见书籍36页。let num1 Number(Hello world!); // NaN
let num2 Number(); // 0
let num3 Number(000011); // 11
let num4 Number(true); // 1 通常在需要得到整数时可以优先使 用 parseInt()函数。 let num1 parseInt(1234blue); // 1234
let num2 parseInt(); // NaN
let num3 parseInt(0xA); // 10解释为十六进制整数
let num4 parseInt(22.5); // 22
let num5 parseInt(70); // 70解释为十进制值
let num6 parseInt(0xf); // 15解释为十六进制整数 parseFloat() let num3 parseFloat(22.5); // 22.5
let num4 parseFloat(22.34.5); // 22.34 String 类型 String() let value1 10;
let value2 true;
let value3 null;
let value4;
console.log(String(value1)); // 10
console.log(String(value2)); // true
console.log(String(value3)); // null
console.log(String(value4)); // undefined 模板字面量 ECMAScript 6 新增了使用模板字面量定义字符串的能力。 注意由于模板字面量会保持反引号内部的空格因此在使用时要格外注意。 let myTemplateLiteral first line second line;
console.log(myTemplateLiteral.length); // 47
字符串插值
模板字面量最常用的一个特性是支持字符串插值也就是可以在一个连续定义中插入一个或多个 值。字符串插值通过在${}中使用一个 JavaScript 表达式实现 let age 25
let name 小美;
// 以前字符串插值是这样实现的
let interpolatedString name 今年 age 岁了 ;
// 现在可以用模板字面量这样实现
let interpolatedTemplateLiteral ${ name } 今年 ${ age } 岁了;
console.log(interpolatedString); // 小美今年25岁了
console.log(interpolatedTemplateLiteral); // 小美今年25岁了 Symbol 类型 Symbol符号是 ECMAScript 6 新增的数据类型。符号是原始值且符号实例是唯一、不可变的。 符号的用途是确保对象属性使用唯一标识符不会发生属性冲突的危险。 symbol类型通过Symbol函数生成用于表示独一无二的值 let sym Symbol();
console.log(typeof sym); // symbol 即使使用相同的字符串来创建Symbol类型的值这些值也是不同的 let fooSymbol Symbol(foo);
let otherFooSymbol Symbol(foo);
console.log(genericSymbol otherGenericSymbol); // false 最重要的是Symbol()函数不能与 new 关键字一起作为构造函数使用 let mySymbol new Symbol(); // TypeError: Symbol is not a constructor Object 类型 ECMAScript 中的对象其实就是一组数据和功能的集合。对象通过 new 操作符后跟对象类型的名称 来创建。 let o new Object();