JavaScript是一门程序设计语言,具有很高的灵活性;本身不提供任何与O流相关的API,都是靠宿主环境提供的。
JavaScript由Netscape浏览器首次引入到Web文档中,JavaScript的出现使得web文档变得更像动态的App,而不是静态的文档,现在主流的浏览器都支持·JavaScript。JavaScript核心被标准化为ECMAScript.
JavaScript中包含五种基本类型和一种对象类型;
基本数据类型:
字符串类型(String)、数字类型(Number)、布尔类型(Boolean)、空类型(Null)、未定义(Undefined)
在JavaScript中,空类型只能取值null,null在javascript是一种特殊的object。
未定义也只能取值undefined,可以把一个变量也声明为未定义。
例如:
var aaa = undefined;
(如果var不写的话则变成了全局变量)
对象类型:
Object类型:Object对象类型是JavaScript中所有其他对象的原型,可以理解为Object是其他所有对象的公共父类。日期、数组、函数都是JavaScript内置的特殊对象。
创建一个对象:
var student = {name: '小明', age: 23};
也可以这么写,
function Student(name){
this.name = name;
this.age = 23;
}
var student = new Student('小明');
student.school = "aaa";
在JavaScript中通过this来访问自己的属性,访问之前不需要声明;
如果直接读取未声明属性,会得到undefined;
如果直接写入未声明属性,则会声明并使用指定的值初始化该属性;
通过function来声明函数。函数的几个属性:
length:参数个数:
toString:这是所有对象共有的方法,将会输出函数的源代码:
function func(arg1, arg2){}
// 2
console.log(func.length)
console.log(func.toString())
JavaScript变量:
1+1;//没有意义,不报错
;;;//空语句,不报错
var a=1;//建议总是使用var 来申明变量!
b=1;//总是创建了全局变量
// console.log(a+" "+b);
console.log(a,b);
delete a;//delete无效
delete b;//删除成功
console.log(a);
console.log(b);//此时b被删除,报错
运行结果:
工作原理:先解析代码,获取所有被声明的变量,然后一行一行执行;
这样造成的结果会让所有变量的申明语句都会被提升到代码的头部;
//相当于var c; console.log(c); c=1;
console.log(c);
var c=1;
console.log(d);
d=10;
运行结果:
undefined:表示变量c已经申明,但是未被赋值!
d is not definded:表示变量d没有申明。(d不是var命令申明的,javascript引擎不会将其提升!)