概述
JavaScript是web上强大的脚本语言,简称js
脚本语言:无法独立执行。必须嵌入到其他语言中,结合使用。(嵌入到html中) 直接被浏览器解析执行,无需编译(解析引擎)
js的语言特征和编程注意事项
特征 :1、 js无需编译,直接被浏览器解释并执行
2、js无法单独运行,必须嵌套到html代码中运行
3、js的执行过程由上到下依次执行(顺序结构)
程序执行:1、顺序执行(默认)
2、选择执行(代码)
注意:1、js没有访问系统文件的权限(安全)
2、由于js无需编译,是由上到下依次解释执行
3、js和java没有任何直接关系
JavaScript的组成
- ECMAScript (核心):规定了JS的语法和基本对象。
- DOM 文档对象模型:处理网页内容的方法和接口
- BOM 浏览器对象模型:与浏览器交互的方法和接口
JavaScript的引入方式
1、内部脚本
在当前页面内部写script标签,标签内部书写js代码即可
格式:<script type="text/javascript"></script>
2、外部引入
在HTML文档中,通过<script src=””>标签引入.js文件
格式:
注意:使用外部引入时,不要在里面写js代码(不起作用)
JavaScript基本语法
1、注解
单行注解://注解内容 多行注解:/* 注解内容 */
2、变量
变量:表示内存中的一块空间,用于存储数据,且数据是可变的
变量的声明:var 变量名 = 值
在声明JavaScript变量时,需要遵循以下命名规范:
- 必须以字母或下划线开头,中间可以是数字、字符或下划线
- 变量名不能包含空格等符号
- 不能使用JavaScript关键字作为变量名,如:function、this、class
- JavaScript严格区分大小写。 建议使用小写开头
3、基本数据类型
JavaScript区别于java,是弱类型语言,变量的使用不用严格遵循规范,所以一个变量声明好之后,是可以赋予任意类型的值。
Var a = 1;
通过typeof运算符可以分辨变量值属于哪种基本数据类型
Java中:instanceof
强制类型转换时候
4、引用数据类型
引用类型通常叫做类(class),但在JavaScript中,因为不存在编译过程,所以没有类的概念
所以js的引用数据类型都是对象(java是面向对象,js是基于对象)
js对象类型的默认值为null
标准的创建方式:
var str = new String;
5、运算符
js运算符与java运算符基本一致
5.1、比较运算符
扩展:
==与===的区别:1、==只是比较是否相等,不比较类型
2、===比较值和类型是否都相等
5.2、逻辑运算符
5.3、条件判断if
JavaScript中的if和Java中的if用法一样,都有表达式。
JavaScript函数/方法
函数的简述:如果一段代码需要被重复编写使用,那么我们为了方便统一编写使用,可以将其封装进一个函数(方法)中。
作用:增强代码的可复用性
js中的函数定义:
function 方法名(参数列表){
}
函数的格式:
- js的函数定义必须用小写的function
- js函数无需定义返回值类型,直接在function后面书写方法名
- 参数的定义无需使用var关键字,否则报错
- js函数体中,return可以不写,也可以return具体值,获取仅仅写return
函数使用的注意事项:
- js函数若同名,会导致相互覆盖,最后定义的函数覆盖前面定义的函数;
- 所以js仅根据方法名来调用函数,即使实参和函数的形参不匹配,也不形象正常调用
- 如果形参未赋值,就使用默认的undefined
正则对象
Regexp对象的创建方式:
- var reg = new RegExp("表达式"); (开发中基本不用)
- var reg = /^表达式$/; 直接量(开发中常用)
直接量中存在边界,即^代表开始,$代表结束
直接量方式的正则是对象,不是字符串,别用引号
test方法:
扩展:
- *:表示匹配前面的子表达式零次或多次
- +:表示匹配前面的子表达式一次或多次。
- ?:表示匹配前面的子表达式零次或一次
js事件
通常鼠标或热键的动作我们称之为事件(Event)
事件包括:点击、表单提交、值发生改变、鼠标移入、鼠标移出等等。通过JS事件,我们可以完成页面的指定特效。
onclick:点击事件,由鼠标或者热键点击元素组件时触发
扩展:1、绑定的函数是可以传递参数的
2、一个事件可以绑定多个函数的
onsubmit:表单提交事件,表单的提交按钮被点击时触发
注意:该事件需要返回boolean类型的值来执行 提交/阻止 表单数据的操作。
返回值为true:表单提交
返回值为false:阻止表单提交
还有很多事件,待以后学习。。。。。。