一个同名的变量可以重复声明很多次,一个从未声明过的变量也可以直接赋值,那这声明有什么用?至少和C++的声明机制是不一样的。
没有数组类型吗?
> var cars=new Array; undefined > typeof cars 'object'
“a”.constructor返回object的构造函数
类型转换
String(some) Number(some)
判断是否是一个类的对象
arr = [1,2,3]; if(arr instanceof Array){ document.write("arr 是一个数组"); } else { document.write("arr 不是一个数组"); }
异常处理
严格模式
作为String和Object的字符串有什么区别
类就是Object吗?这两者的概念是完全相同的吗
声明提升,但是初始化不会提升
严格模式
JavaScript包含的3部分:
数据有两种:变量和字面量,变量是一个名称。字面量是一个值。
JavaScript的类型分为两种:原始数据类型(Primitive data types)和对象类型(Object types)。
var person={ // 注意这个person是对象名,不是类型名 firstname : "John", lastname : "Doe", id : 5566 };
> typeof x; // Js是弱类型的语言,在运行过程中,值的类型可能改变 'number'
console.log('Hello'); // 除了字符串,也可以输出其他类型的内容
JavaScript的注释方法和C++类似:
// 注释内容 /* 注释内容 */
一条语句以分号结尾,但好像不是强制要求。
> x = 1 1 > y = 2; 2
在文件头部/函数头部定义以下字符常量即可进入严格模式,指令只允许出现在脚本或函数的开头
'use strict';
声明变量使用var关键字,但使用前不强制要求声明,声明只是为了代码清晰。声明变量有3种方式:
// 1. 使用var声明变量 var name; // 一次声明一个变量,没有初始化的变量的值为undefined var name, age, gender; // 一次声明多个变量 var name = "A"; // 声明的同时初始化变量 var name = "A", age = 20, gender; // 在一条声明中初始化部分变量 var name = "A", age = 20, gender = 'Male'; // 在一条声明中初始化全部变量 // 使用var声明的变量可以多次重复声明,重复声明时没有赋值的话,原来的值就不会丢失 var carname = "Volvo"; var carname; // 原来的值不会丢失 // 2. 使用let声明变量 // 使用let声明变量的语法说明和var声明变量的完全相同 let age; let age = 32, name = "Tom"; // let不能重复声明 // 问:var有什么独特的地方?是不是let可以完全替代var // 3. 使用const声明变量 // const在声明时,必须给变量赋初值 const pi = 3.1415;
// 判断 if (condition1) { // CODE } else if (condition2) { // CODE } else { // CODE } switch(n) // 这里对数据类型有要求吗?没有,可以是字符串等类型 { case 1: // CODE break; case 2: // CODE break; default: // CODE } // 循环 for (var i=0; i<5; i++) { // CODE } var person={fname:"Bill", lname:"Gates", age:56}; for (x in person) // 用for循环遍历对象的属性 { txt=txt + person[x]; } while (condition) { // CODE } do { // CODE } while (condition); // 和C一样 // 控制 // break:和C部分一样,用在switch和loop内部 // continue:和C完全一样,用在loop内部 // label:和break一起使用,此时break就能用于其他地方,用于跳出代码块 list: { // CODE break list; // CODE }
运算符 | 功能 |
---|---|
= | 赋值 |
+ += | 加 |
- -= | 减 |
* *= | 乘 |
/ /= | 除 |
% %= | 模 |
++ | 自增 |
– | 自减 |
&& | 并且 |
|| | 或者 |
! | 否定 |
== | 值相等 |
!= | 值不等 |
=== | 值和类型相同 |
!== | 值或类型不同 |
> >= < <= | 判断大小 |
?: | 和C一样 |
// function是关键字 function functionname() { // 执行代码 } // 参数 function functionname(var1, var2) { // 执行代码 } // 返回值,使用return关键字 // 一个函数在不同的情况下,返回的数据可以是不同的,也可能在某些情况下不返回任何值