本节内容:
1、JavaScript概述
2、JavaScript引入方式
3、JavaScript语言基础
4、JavaScript的数据类型
一、JavaScript概述
1、JavaScript的由来
js的作者只用10天就开发这个语言,写的并不是很完善,而且基本不报错。
JavaScript 是脚本语言。
JavaScript 是一种轻量级的编程语言。
后来出现了node.js,可以作为后端语言来开发项目,js是一个既能做前端又能做后端的语言。
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
JavaScript 很容易学习。
2、由JavaScript到ECMAscript,什么是ECMAscript
1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。
次年,ECMA发布262号标准文件(ECMA-262)的第一版,
规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。
该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,
有两个方面的原因:
一是商标,JavaScript本身已被Netscape注册为商标。
二是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。
因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。
3、一个完成的JavaScript的由3个不同部分组成
ECMAScript只是一个重要标准,描述了JavaScript语言本身的相关内容;
但它并不是JavaScript唯一的部分,也不是唯一被标准化的部分
由以下3部分组成,一个完整的JavaScript:
1、核心(ECMAScript)
2、文档对象模型(DOM)Document object model(整合js,css,html)
3、浏览器对象模型(BOM)Broswer object model(整合js和浏览器)
二、JavaScript的两种引入方式
1、在html的script标签内写代码
在head标签里面可以写,在body标签里面也可以写,
放到head标签里面和放到body标签里面到底有什么区别,(后面有详解)
放在head中的JS代码会在页面加载完成之前就读取,
而放在body中的JS代码,会在整个页面加载完成之后读取。
fe1:代码示例
2、引入额外的JS文件
写在在html的head里引入
三、JavaScript语言基础
1、注释和结束符
JavaScript中的语句要以分号(;)为结束符。也就是说和缩进没关系了
2、变量声明(就通过浏览器自带的那个调试台来写吧)
1、JavaScript变量命名规则
1、变量名由下划线、数字、字母、$组成,不能以数字开头。
2、声明变量必须使用 var 变量名; 这样的格式来进行声明
2、变量名的推荐写法
1、变量名是区分大小写的。
2、推荐使用驼峰式命名规则。首字母大写
3、保留字(就是内置使用的名字)不能用做变量名。
3、常量
ES6新增const用来声明常量。
一旦声明,其值就不能改变。
这个东西就是为了定义一个固定的常量,供大家使用,这个常量不会改变
四、JavaScript的数据类型
JavaScript拥有动态类型(python也是动态的)
1、Number(数值类型)
JavaScript不区分整型和浮点型,就只有一种数字类型和NaN类型
1、数字类型
2、NaN类型(非数字值的特殊值)
相当于python可以int一个字符串。
NaN表示不是一个数字(Not a Number),也就是说是一个值,但不是数字。
fe1:常用的方法
2、String(字符串)
跟python中的字符串类似
1、常用方法
2、ES6中引入了模板字符串
模板字符串(template string)是增强版的字符串,用反引号(`)标识,ESC键下面那个键就是反引号。
它可以当做普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。
你使用chorme浏览器就行,chorme浏览器支持ES6
fe:模板字符串示例
2、Boolean(布尔值)
true和false都是小写,注意与python区分
3、null和undefined的区别
null表示值是空,它是有自己的数据类型的
underfined仅仅是声明一个变量但未初始化,该变量默认值、数据类型是underfined。
4、Object(对象)
JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...此外,JavaScript 允许自定义对象。
JavaScript 提供多个内建对象,比如 String、Date、Array 等等。
对象只是带有属性和方法的特殊数据类型。
1、数组
数组对象的作用是:使用单独的变量名来存储一系列的值。
类似于Python中的列表。
2、数组的常用方法
3、关于sort()函数需要注意的问题
如果调用该方法时没有使用参数,是按照字符编码的顺序进行排序。
fe:使用函数获取我们想要的排序,示例
4、关于遍历数组中的元素,可以使用下面的方式:
5、splice()删除元素,并且可以插入新元素
语法:
splice(index,howmany,item1,.....,itemX)
参数解释:
index:必须,规定从何处(按索引号)删除/添加元素,必须是数字。
howmany:必须,规定删除多少个数字,必须是数字。
item1/x:可选,要添加到数组的新元素。
6、自定义对象
7、类型查询
对变量或值调用 typeof 运算符将返回下列值之一:
undefined - 如果变量是 Undefined 类型的
boolean - 如果变量是 Boolean 类型的
number - 如果变量是 Number 类型的
string - 如果变量是 String 类型的
object - 如果变量是一种引用类型或 Null 类型的
5、运算符
1、算数运算符
+ - * / % ++ -- i++,是i自加1,i--是i自减1
2、比较运算符
> >= < <= !=(弱不等于) ==(弱等于) ===(强等于) !==(强不等于)
fe:代码示例,以后尽量用强等于和强不等于
2、逻辑运算符(与、或、非)
&& || ! #and,or,非(取反)!null返回true
3、赋值运算符(同py)
= += -= *= /= #n += 1其实就是n = n + 1
6、流程控制
1、if-else(单条件)
2、if-else if-else(多条件)
3、switch(切换)
switch中的case子句通常都会加break语句,否则程序会继续执行后续case中的语句。
4、for(循环)
5、while(循环)
6、三元运算(也叫三目运算)