JS字面量
数字字面量
字符串字面量
表达式字面量
数组字面量
对象字面量
函数字面量
JS数据类型
值类型(基本类型):
字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
引用数据类型(对象类型):
对象(Object)、数组(Array)、函数(Function),还有两个特殊的对象:正则(RegExp)和日期(Date)
JS对象
JS对象是拥有属性和方法的数据
对象也是一个变量,但对象可以包含多个值(多个变量),每个值以 name:value 对呈现。
对象属性
可以说 "JavaScript 对象是变量的容器"。
但是,我们通常认为 "JavaScript 对象是键值对的容器"。
键值对通常写法为 name : value (键与值以冒号分割)。
键值对在 JavaScript 对象通常称为 对象属性。
对象方法
对象的方法定义了一个函数,并作为对象的储存属性,对象方法通过添加()调用(作为一个函数)
如果你要访问 person 对象的 fullName 属性,它将作为一个定义函数的字符串返回:
访问对象方法
你可以使用以下语法创建对象方法:
methodName:function() {
// 代码
}
你可以使用以下语法访问对象方法:
objectName.methodName()
通常 fullName() 是作为 person 对象的一个方法, fullName 是作为一个属性。
如果使用 fullName 属性,不添加 (), 它会返回函数的定义:
JS函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块
语法
函数就是包裹在花括号中的代码块
functionfunctionname(){
//执行代码
}
JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。
调用带参数的函数
在调用函数时可以向其传值,这些值被称为参数,这些参数可以在函数中使用,可以传入多个参数,用逗号隔开
myFunction(argument1,argument2)
声明函数时要把参数作为变量来声明
functonmyFunction(var1,var2){
//代码
}
变量和参数必须以一致的形式出现第一个变量就是第一个被传递给参数的给定的值
带有返回值的参数
当我们需要函数将值返回到它调用的地方,通过return值就能实现,在使用return语句时,函数会停止运行,并返回指定的值
functionmyFunction(){
varx=5;
return;
}
注意整个函数不会停止运行,仅仅是函数,JS会继续执行代码,从调用的地方,函数调用将返回值取代
functionmyFunction(a,b)
{
returna*b;
}
document.getElementById("demo").innerHTML=myFunction(4,3);
局部JS变量
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。
全局JS变量
在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
JS变量的生存期
他们的生命期从他们被开始声明的时候开始,局部变量会在函数停止运行以后删除全局变量会在页面关闭后删除
向未声明的JS变量分配值
如果您把值赋给尚未声明的变量,该变量将被自动作为 window 的一个属性。
varvar1=1;// 不可配置全局属性
var2=2;// 没有使用 var 声明,可配置全局属性
console.log(this.var1);// 1
console.log(window.var1);// 1
console.log(window.var2);// 2
deletevar1;// false 无法删除
console.log(var1);//1
deletevar2;
console.log(deletevar2);// true
console.log(var2);// 已经删除 报错变量未定义
JS作用域
在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。
JS局部作用域
变量在函数内声明,变量为局部作用域。
局部变量:只能在函数内部访问。
因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量。
局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。
JS全局变量
变量在函数外定义,即为全局变量。
全局变量有 全局作用域: 网页中所有脚本和函数均可使用。
varcarName=" Volvo";
// 此处可调用 carName 变量
functionmyFunction() {
// 函数内可调用 carName 变量
}
如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。
以下实例中 carName 在函数内,但是为全局变量。
// 此处可调用 carName 变量
functionmyFunction() {
carName="Volvo";
// 此处可调用 carName 变量
}
JavaScript 变量生命周期
JavaScript 变量生命周期在它声明时初始化。
局部变量在函数执行完毕后销毁。
全局变量在页面关闭后销毁。