JavaScript#
JavaScript是一门运行在 客户端(浏览器) 的编程语言
JS书写位置#
内联js#
代码写在标签内部
基本不使用,在vue中会用到
html<input type="button" value="唐伯虎" onclick="alert('秋香姐')" /> {dsfsd{d}}{
拓展#
术语拓展#
术语 | 解释 | 举例 |
---|---|---|
关键字 | 在js中有特殊意义的词汇 | let、var、function、if、else、switch、case、break |
保留字 | 在目前的js中没意义,但未来可能会具有特殊意义的词汇 | int、short、long、char |
标识(标识符) | 变量名、函数名的另一种叫法 | 无 |
表达式 | 能产生值的代码,一般配合运算符出现 | 10+3、age>=18 |
语句 | 一段可执行的代码 | if()、for() |
基本数据类型和引用数据类型#
简单类型又叫做基本数据类型或者 值类型 ,复杂类型又叫做 引用类型
- 值类型:简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型,比如:string、number、boolean、undefined、null
- 引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型,通过new关键字创建的对象(系统对象、自定义对象),比如:Object、Array、Date等
堆栈空间分配#
栈(操作系统):由操作系统自动分配释放存放函数的参数值、局部变量的值等。其操作方式类似于数据结构中的栈; 简单数据类型存放到栈中
堆(操作系统):存储复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。 引用数据类型存放到堆中 ,而其地址存放到栈中
JavaScript// 例1 let num1=10 let num2=num1 num2=20 console.log(num1) // 结果为10,num1、num2是两个不同的栈空间 // 例2 let obj={ age:18 } let obj2=obj1 obj2.age=20 console.log(obj1.age) // 结果是20,复杂数据类型,数据存放到堆中,栈中存放地址,obj2=obj1开辟了一个新的空间,但是其内容其实是相同的地址,所以在obj2修改数据后,obj1的数据一起变化