(一)JavaScript简介
JavaScript就是脚本语言中的一种,被广泛应用于Web应用开发,常用开为网页添加各式各样的动态功能。
Javascript是wed开发者的必学的三种语言之一
HTML定义网页的内容
CSS规定网页的布局/样式
JavaScript对网页行为进行编程
JavaScript组成:
ECAMScript:JavaScript语法和基本对象
DOM:文档对象模型
BOM:浏览器对象模型
(二).JavaScript的6种数据类型:
基本数据类型:String 字符串类型 Number数值类型 Boolean 布尔类型
Null 空值类型 Undefined 未定义类型
引用数据类型:Object 对象类型
2.JavaScript数据的强制类型转换主要是将其他数据类型转换为 String Number Boolean
①将其他的数据类型转换为String类型
方法一:
- 调用被转换数据类型的toString()方法
- 该方法不会影响原变量,它会将转换的结果返回
- 注意:null和undefined这两个值没有toString()方法,如果调用该方法程序会报错
方法二:
- 调用String()函数,并将被转换的数据作为参数传递给函数
- 使用String()函数做强制类型转换时,对于Number Boolean实际上
是调用的toString()方法。但是对于null和undefined,
就不会调用toString()方法。
它会将null直接准换为"null"(字符串)
它会将undefined直接准换为"undefined"(字符串)
②将其他数据类型转换为Number类型
使用Number()函数
- 字符串-->数字
1.如果是纯数字的字符串,则可以直接转换为数字
2.如果字符串中有非数字的内容,则转换为NaN
3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
- 布尔值-->数字 true准换为1 false转换为0
- null-->数字 0
- undefined-->数字 NaN
(三).JavaScript运算符:
①算数运算符
②关系运算符
③逻辑运算符
④赋值运算符
⑤条件运算符
2.JavaScript运算符的优先级
JS中的优先级就跟我们数学中的优先级一样,
比如在数学中:先乘除 再加减 有括号先算括号里面的
算术操作符 → (关系运算符)比较操作符 → 逻辑操作符 → "="赋值符号 (+,-,*,/,++,--,%) (<,>,==,===,<=,>=,!=) (&&,||,!) (=,+=,-=,..)
3.JavaScript流程控制语句
1.顺序结构:按照顺序一条一条的执行代码,从上到下。
2.分支结构:执行代码的时候,可以根据条件进行选择,条件越多对应的结果越多,分支也就越多。例如if…else…语句,switch语句
3.循环语句:用来重复不断的做一件事,for循环,while循环,do…while循环
4.JavaScript对象
对象属于一种复合的数据类型,在对象中可以存储多个不同数据类型的属性
对象的分类:
1.内建对象
- 由ES标准中定义的对象,在任何ES的实现中都可以使用
例如:Math String Number Boolean Function Object...
2.宿主对象
- 由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象
- 比如:BOM(浏览器对象模型) DOM(文档对象模型)
例如 我们常用的console.log() 就是DOM 中的对象
3.自定义对象
- 由咱们开发人员自己定义的对象
使用new关键字调用的函数,是构造函数constructor
构造函数是专门用来创建对象的函数
var obj=new Object();//创建对象
在对象中保存的值称为属性:
向对象添加属性的语法: ①对象.属性名=属性值 ② 对象["属性名"]=属性值
读取对象属性的语法: ①对象.属性名 ②对象["属性名"]
- 注意:如果对象中没有的属性,不会报错而是返回undefined
重要!!!对象的属性值可以是任意的数据类型
属性名:
对象的属性名不强制要求遵守标识符规则
什么名称都可以,但是不允许这里使用,我们自己定义的使用都必须遵守标识符规则。
in运算符
通过该运算符检查一个对象中是否含有指定的属性
如果含有则返回true,如果没有则返回false
语法 :"属性名" in 对象
5.JavaScript基本数据类型与引用数据类型
- 基本数据类型:String Number Boolean Null Undefined
- 引用数据类型:Objec
6.JavaScript对象字面量
使用对象字面量,可以在创建对象时,直接指定对象中的属性
语法:{属性名1:属性值1,属性名2:属性值2,...}
对象字面量的属性名可以加引号,也可以不加,建议不加
如果要使用一些特殊的属性名,则必须加上引号
属性名与属性值是一组键值对结构,
键与值之间用":"冒号连接,对个键值对之间使用","逗号隔开
如果一个属性之后没有其他的属性了,就不要写","逗号。