第三章 基本概念
3.1
一、区分大小写
JS中一切区分大小写。
//单行注释 /* * 多行注释,中间的*号不是必须,但可提高代码的可读性 * */
"use strict"
//告诉JS引擎切换到严格模式
3.3 变量
变量: 松散类型,保存任何类型的数据。
var message; //定义一个未初始化的变量,值为undefined
var message = "say hi";
//定义并初始化一个变量。初始化就是给变量赋值
局部变量:再函数内使用var定义的变量。在函数退出后就被销毁。 可以使用一条语句定义多个变量,用,分割即可
var message = "hi", age = 25, found = false;
全局变量:不在任何函数内定义,或没有使用 var 关键字定义初始化的变量。
3.4 数据类型
5种简单数据类型(基本数据类型):Undefined, Null, Boolean, Number, String。
1种复杂数据类型:Object, 一组无序的名值对组成。
1.typeof操作符
检测给定变量的数据类型
可能返回的值:
“undefined”--未定义。
“boolean”--布尔值。
“string”----字符串
“number"--数值。
“object”----对象或null
"function"-函数
2.undefined类型
undefined类型只有一个值,即自身。使用 var 声明的变量,未初始化的变量保存的值就是undefined;
没有必要显示的为一个变量声明undefined;
var message; console.log(typeof message); //undefined
3.Null类型
第二个只有一个值的类型,即null.表示空指针对象,这也是使用typeof检测null返回object的原因。
实际开发过程中,需要一个变量将来用于保存对象,最常用的就是用null初始化变量。
var car = null; console.log(typeof car); //object
4.Boolean类型
只有俩个字面值:true、false;
用于判断一个值是真值,还是假值。
数据类型 | 转换为true的值 | 转换为false的值 |
boolean | true | false |
String | 任何非空字符串 | 空字符串 |
Number | 非零数字值(包括无穷大) | 0和NaN |
Object | 任何对象 | null |
Undefined | n/a(不适用) | undefined |
5.Number类型
整数:
最基本的数值字面了格式是十进制整数;再进行数值计算,所有8进制和16进制都会转换为10进制计算。
var num = 123; //十进制整数123 var num1 = 070; //八进制 var num2 = 0xa; //16进制
浮点数:
即包括小数点的数字,保存浮点数值需要的内存空间是整数的俩倍。
NaN:
非数值,表示一个要返回数值的操作符,未返回数值的情况。
特点:1.涉及NaN的操作都会返回NaN,
2.NaN与任何值都不想等。包括NaN本身。
isNaN(),接受一个参数,用以确定这个参数是不是“非数值”。
6.String类型
字符串特点不可变,一旦创建,值不可变。
要改变某个变量保存的字符串,先销毁原来的字符串,再用另一个包含新值的字符串填充该变量;
7.object类型
一组数据和功能的集合。对象可以通过执行new操作符,后面跟一个要创建的对象类型的名称来创建。
var o = new object();
//构造函数
Object类型所具有的任何属性和方法存在与具体的对象中。
Object的方法和属性:
constructor: 保存用于创建当前对象的函数。
hasOwnProperty():检测给定的参数再实例中的原型是否存在。
isPrototypeOf(Object): 检查传入的对象是否是传入对象的原型。
protopertyIsEnumerable(propertyNmae):检查给定的属性是否通过for-in可枚举.
toLocaleString(): 返回对象的字符串表示。
对象到字符串转换步骤:
对象到数字转换步骤:
“+ ” 和 ”==“对象到字符串的转换 返回的原始值直接被使用