1JavaScript 是什么语言
可以说:Java 服务器端的编程语言,JavaScript运行在客户端(浏览器)的编程语言
JavaScript(简称JS)是一种运行在客户端的脚本语言,JavaScript的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
也可以说,是一门脚本语言、是一门解释性语言、是一门动态类型的语言、是一门基于
对象的语言。(不是面向对象)、是一门弱性语言
2JavaScript和HTML、CSS的区别
HTML - 提供网页的结构,提供网页中的内容
CSS - 用来美化网页
JavaScript - 可以用来控制网页内容,给网页增加动态的效果
3JavaScript的组成
(1)ECMAScript - JavaScript的核心
ECMA欧洲计算机制造联合会。JavaScript的核心,描述了语言的基本语法和数据类型,ECMAScript是一套标准,定义了一种语言的标准与具体实现无关。
(2)BOM - 浏览器对象模型
一套操作浏览器功能的API。通过BOM可以操作浏览器窗口,比如:弹出框、控制浏览器跳转、获取分辨率等。Borswer object model
(3)DOM - 文档对象模型
一套操作页面元素的API。DOM可以把HTML看做是文档树,通过DOM提供的API可以对树上的节点进行操作。Document object model
2)
- JavaScript代码写法
CSS代码写法分为行内样式、嵌入样式(内部)、外部样式、控制台书写。那么,js的代码可以分四个地方写:
1.在html的文件中,script的标签中写js代码
2.js代码可以在html的标签中写
3.在js文件中可以写js代码,但是需要在html页面中引入script的标签中的src="js的路径"
4.还可以在控制台直接书写js代码
- 、JavaScript问题总结
1、在一对script的标签中有错误的js代码,那么该错误的代码后面的js代码不会执行
2、如果第一对的script标签中有错误,不会影响后面的script标签中的js代码执行
3、script的标签中可以写type="text/javascript"标准写法或者写language="JavaScript"都可以。但是,目前在我们的html页面中,type和language都可以省略,原因:html是遵循h5的标准。
4、有可能会出现这种情况:script标签中可能同时出现type和language的写法。
5、script标签在页面中可以出现多对。
6、script标签一般是放在body的标签的最后的,有的时候会在head标签中,目前讲课的时候都在body标签的后面(body中的最后)。
7、如果script标签是引入外部js文件的作用,那么这对标签中不要写任何的js代码,如果要写,重新写一对script标签,里面写代码。
二 JavaScript 变量
1变量:
变量是计算机内存中存储数据的标识符,根据变量名+称可以获取到内存中存储的数据,使用变量可以方便的获取或者修改内存中的数据
2
变量的命名规则和规范
规则 - 必须遵守的,不遵守会报错
1、由字母、数字、下划线、$符号组成,不能以数字开头
2、不能是关键字和保留字,例如:for、while。
3、区分大小写
规范 - 建议遵守的,不遵守不会报错
变量名必须有意义
遵守驼峰命名法。首字母小写,后面单词的首字母需要大写
3 JavaScript 数据类型
(1)、基本数据类型
Number、String、Boolean、Undefined、Null
2)数值判断
NaN:not a number (可以通过Number()方法判断)
NaN与任何值都不相等,包括他本身
isNaN(): is not a number (如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。如果 x 是其他值,则返回 false)
3)Undefined和Null
undefined表示一个声明了没有赋值的变量,变量只声明的时候值默认是undefined
null表示一个空,变量的值如果想为null,必须手动设置
4)获取变量的类型 :typeof关键字
5)
(6)、运算符的优先级
优先级从高到底如下:
括号>点运算符>一元运算符> 算数运算符 >关系运算符>相等运算符>逻辑运算符 >赋值运算符
注意:同级运算符先后顺序如下:
一元运算符 ++ -- !
算数运算符 先* / % 后 + -
关系运算符 > >= < <=
相等运算符 == != === !==
逻辑运算符 先&& 后||
三 循环控制
1 if 语句
第一种
if (/* 条件表达式 */) {
// 执行语句
}
第二种
if (/* 条件表达式 */){
// 成立执行语句
} else {
// 否则执行语句
}
第三种
if (/* 条件1 */){
// 成立执行语句
} else if (/* 条件2 */){
// 成立执行语句
} else if (/* 条件3 */){
// 成立执行语句
} else {
// 最后默认执行语句
}
2)三元运算符
表达式1 ? 表达式2 : 表达式3
是对if……else语句的一种简化写法
3)switch语句
switch 语句 - 使用该语句来选择多个代码块之一来执行
switch (expression) {
case 常量1:
语句;
break;
case 常量2:
语句;
break;
case 常量3:
语句;
break;
…
case 常量n:
语句;
break;
default:
语句;
break;
}
4)if语句和switch语句的区别:
if语句:
表达式的结果为boolean类型。常用于区间判断
switch语句:
switch case 使用严格比较(===),值必须与要匹配的类型相同,只有操作数属于同一类型时,严格比较才能为 true。
5)while 循环
do...while
for
while和do...while一般用来解决无法确认次数的循环。for循环一般在循环次数确定的时候比较方便
6)continue和break
break:立即跳出整个循环,即循环结束,开始执行循环后面的内容(直接跳到大括号)
continue:立即跳出当前循环,继续下一次循环(跳到i++的地方)
8)调试
(1)、alert()
(2)、console.log()
(3)、debugger 关键字