JavaScript学习笔记
JavaScript包括三大块:
ECMAScript:js的核心语法(ES规范/ECMA-262标准)
DOM:Document Object Model(文档对象模型:对网页当中的结点进行增删改的过程。)HTML文档被当做一颗DOM树来对待。
例如 var domObj =document.getElementById("id");
BOM:Browser Object Model(浏览器对象模型)
例如:关闭浏览器窗口、打开一个新的浏览器窗口、后退、前进、浏览器地址栏上的地址等都是BOM编程
DOM和BOM的联系与区别:
BOM的顶级对象是:window
DOM的顶级对象是:document
实际上BOM是包括DOM的。
ECMAscript
JavaScript:是运行在浏览器上的脚本语言,简称JS。JS的出现让浏览器更加的生动了,不再是单纯的静态页面了,页面更具有交互性。
JS和Java没有任何关系,只是语法上有点类似,并且运行位置不同,Java运行在JVM当中,JavaScript运行在浏览器的内存当中。
JavaScript程序不需要程序员手动编译,编写完源代码之后,浏览器直接打开解释执行。换句话说就是JavaScript的目标程序以普通文本形式保存,这种语言都叫做脚本语言
JSP:JavaServer pages (率属于Java预言的,运行在JVM当中)
JS:JavaScript (运行在浏览器上)
HTML嵌入js代码的三种方式
HTML镶入js代码的第一种方式
Js是一门事件驱动型的编程语言,依靠事件去驱动,然后执行对
应的程序。在Js中有很多事件,其中有一一个事件叫做:鼠标单击,单词:
click。 并且任何事件都会对应-一个事件句柄叫做: onclick。 [ 注意:事件
和事件句柄的区别是:事件句柄是在事件单词前添加一一个on。],而事
件句柄是以HTM标签的属性存在的。
HTML中嵌入js代码的第二种方式:脚本块方式
<!--javascript代码可以出现在任何位置,并且可以出现多次。-->
js代码中的单行和多行注释格式和java一样。
HTML嵌入js的第三种方式:引入外部独立文件
这种方式是最常用的方式
js文件我这里是在HTML所在的文件夹,新建了一个文件夹,然后写的js文件,
js文件内容:
window.alert('hello 小明');
alert("hello,kangkang");
js中的变量
变量的声明与赋值
JavaScript和java不一样,js是一种弱类型语言,没有编译阶段,因此一个变量可以随意赋值,赋什么类型的值都行。
js声明变量:var 变量名
变量名前面不需要指定类型,后面的值是什么类型,这个变量就是什么类型。
js给变量赋值:变量名 = 值;
并且在js当中,当一个变量没有手动赋值的时候,系统会默认赋值undefined。(undefined是一个具体存在的值)
变量声明了但没赋值,系统自动赋值undefined,变量未声明,出现错误。
函数的定义与调用
js中的函数,等同于java语言中的方法,函数也是一段可以重复利用的代码片段。函数一般都是可以完成某个特定功能的。
js语法格式:
第一种:
function 函数名(形式参数列表){
函数体;
}
第二种:
函数名=function(形式参数列表){
函数体;
}
js中的函数不需要指定返回值的类型,返回什么类型都行。
示例:
在js中,如果两个函数名相同,则在后面的函数将会把前面的函数覆盖掉,相当于重写。因此在js中函数名不能重名。
局部变量和全局变量
全局变量:在函数体之外声明的变量属于全局变量,全局变量的生命周期是: 浏览器打开时声明,浏览器关闭时销毁,尽量少用。因为全局变量会一直 在浏览器的内存当中,耗费内存空间。能使用局部变量尽量使用局部变量。
局部变量:在函数体当中声明的变量,包括一个函数的形参都属于局部变量,局部变量的生命周期是:函数开始执行时局部变量的内存空间开辟,函数执行结束之后,局部变量的内存空间释放。局部变量生命周期较短。
注意:如果一个变量声明的时候没有用var修饰,那么无论这个变量在哪声明的,他都是全局变量。
js数据类型
js的变量在声明的时候不需要指定数据类型,但是在赋值时,每一个数据还是有类型的。
js中的数据类型有:原始类型、引用类型。
原始类型:Undefined、Number、String、Boolean、Null
引用类型:Object以及Object的子类。
ES规范(ECMAScript 规范),在ES6之后,又基于以上的六种类型之外添加了一种新的类型:Symbol、
js中有一个运算符叫做typeof,这个运算符可以在程序的运行阶段动态的获取变量的数据类型。
typeof语法格式:
typeof 变量名
typeof运算符的运算结果是以下六个字符串之一:“undefined”、"number"、"string"、“boolean”、“object”、“function”、注意字符串都是小写。
在js中比较两个字符串用“==”,没有equals方法。