js初体验

1.1k 词
js初体验

JavaScript#

JavaScript是一门运行在 客户端(浏览器) 的编程语言

JS的组成#

ECMAScript+Web APIs(DOM+BOM)

ECMAScript#

规定了js基础语法核心知识,如:变量、分支语句、循环语句、对象等

Web APIs#

DOM:操作文档,对页面元素进行移动、大小、添加删除等操作

BOM:操作浏览器,比如页面弹窗、检测窗口宽度、存储数据到浏览器等

JS书写位置#

内部js#

直接写在html文件里,用 script 标签包含

一定写在</body>之前

外部js#

代码写在外部js文件中,靠script标签 src 属性引入html页面

script标签之间不写代码,会被忽略

内联js#

代码写在标签内部

基本不使用,在vue中会用到

                    
html
<input type="button" value="唐伯虎" onclick="alert('秋香姐')" /> {dsfsd{d}}{

字面量#

在计算机科学中,字面量(literal)是在计算机中描述 事/物,如:

  • 工资是:10000,此时10000就是数字字面量
  • '前端程序员'是字符串字面量
  • 还有[]数组字面量,{}对象字面量等

拓展#

术语拓展#

术语
术语 解释 举例
关键字 在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的数据一起变化