JavaScript(一)基本语法、数据类型,操作符,常见语句
JS概述
关于JavaScript的历史,语言特点,略。
一、JavaScript的组成
JavaScript是ECMAScript、文档对象模型(document object model:DOM)、浏览器对象模型(brower object model:BOM)由三部分构成,其核心是ECMAScript,它描述了该语言的语法和基本对象;DOM 描述了处理网页内容的方法和接口,通过 DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性,可以对其中的内容进行修改和删除,同时也可以创建新的元素;BOM 描述了与浏览器进行交互的方法和接口,BOM提供了独立于内容而与浏览器窗口进行交互的对象,例如可以移动,调整浏览器大小的window对象,可以用于导航的location对象与history对象,可以获取浏览器,操作系统与用户屏幕信息的navigator与screen对象,可以使用document作为访问HTML文档的入口,管理框架的frames对象等。
JavaScript的组成.jpg
二、JavaScript的引入方式
2.1外部引入
在<script></script>标签里面src=“ ”;中添加链接
<script type="text/javascript" src="yuanmi.js">
// 如果链接了外部JS文件,script标签里面的JS代码就不执行了
// 此处不能加JS代码
</script>
2.2内部引入
在script标签内添加
<script type="text/javascript">
<!-- script标签可以有多个,按顺序执行 -->
console.log("你好!")
</script>
三、基本概念
语法
1、ECMAscript中的一切(变量、函数名,操作符)都区分大小写
2、标志符(就是指变量、函数、属性的名字、或者函数的参数):第一个字符必须是一个字母,下划线、美元符号。其他字符可以是字符、下划线。美元符号、或者是数字
3、注释
单行注释://
多行注释:/* */
4、关键字和保留字
5、变量:ECMAscript的变量是松散型的,所谓松散型就是可以用来保存任何类型的数据、定义时要用var操作符,如果在函数中使用var定义一个变量,那么这个变量在函数退出 后就会被销毁,如果省略var,那么这个变量就成为全局变量,可以在函数外的任何一个地方被访问到,但是,不推荐这么使用。
四、数据类型
ECMAscript中有5中简单数据类型(基本数据类型):Undefined、null、Boolean、Number、String,还有一种复杂的数据类型object。ECMAscript不支持任何创建自定义类型的机制,而所有的值最终都将是上述6中数据类型之一,乍一看,好像只有6中数据类型不足以表示所有数据,但是,由于ECMAscript数据类型有动态性,因此的确没有再定义其他数据类型的必要了。
检测数值类型
typeof()
typeof()是用来检测给定变量的数据类型,对一种值使用typeof操作符可能返回下列某个字符串
‘undefined’:这个值未定义
‘boolean’:这个值是布尔类型
‘string’:这个值是字符串
‘number’:这个值是数值
‘object’:这个值是对象或者null
‘function’:这个值时函数
typeof操作符用来区分函数和其他对象是有必要的
数据类型
undefined
1、定义一个变量,但是没有初始化,会得到undefined
2、变量未定义,会得到undefined
3、函数中return不带任何返回值时,函数停止执行会返回undefined
4、函数参数arguments,没有传递值的命名参数将自动被赋予undefined
Null
null是只有一个值得数据类型,这个特殊值是null
null值表示一个空对象指针,如果保存对象的变量还没有真正的保存对象,就应该明确的让该变量保存null值
特殊情况:
alert(null == undefined)//true
alert(null === undefined)//false
Boolean
该类型有2个字面量值true和false,经常用在流程控制语句和选择判断语句,
常见false值
1.数字0、
2.NaN、
3.“ ”,空字符串
4.false
5.undefined
6.null
除了false值都基本都是true
Number
1、浮点数:所谓浮点数,就是该数值中必须包含一个小数点,且小数点后面至少有一位数字,由于保存浮点数的内存空间是保存整数的2倍,因此,如果小数点后面没有任何数字,或者本身就是一个整数(1.0),那么该值会被转化成整数,但是浮点数计算会产生四舍五入误差的问题。
2、数值范围:由于内存的限制,ECMAScript 并不能保存世界上所有的数值。ECMAScript 能够表示的最小数值保 存在 Number.MIN_VALUE 中——在大多数浏览器中,这个值是 5e-324;能够表示的最大数值保存在 Number.MAX_VALUE 中——在大多数浏览器中,这个值是 1.7976931348623157e+308。如果某次计算的 结果得到了一个超出 JavaScript 数值范围的值,那么这个数值将被自动转换成特殊的 Infinity 值。具 体来说,如果这个数值是负数,则会被转换成-Infinity(负无穷),如果这个数值是正数,则会被转 换成 Infinity(正无穷)。
isFinite():这个函数在参数位于最小和最大值之间会返回true
3、NaN
这个数值表示一个本来要返回数值的操作数未返回的情况(这样不会抛出错误)
任何设计NAN的操作都会返回NaN,其次,NaN与任何值都不相等,包括NaN本身
isNaN():任何不能被转化成数值的值都会导致这个函数返回true
数值转化
Number():可以转化任何类型数据
parseInt():专门用于把字符串转化成整数
parseFloat():专门用于把字符串转化成浮点数
String
多个字符的有序序列,双引号和单引号引起来的都是字符串
转化成字符串
toString(),String()
两者区别:
1、除了null和undefined值,任何值都有toString()
2、toSring()接受一个参数,表示进制
3、String()能够将任何类型的值都转换成字符串
toString()规则:值如果有toString,则调用该方法,如果值是null,则返回“null”,如果值是undefined,返回‘undefined’
操作符
一元操作符:只操作一个值的操作符
- ++
- --
一元加和减操作符
- +:放在数值前面,对数值不会产生任何影响
- -:主要用来表示负数
布尔操作符
逻辑非: !
逻辑与: &&
逻辑或: ||
乘性操作符
乘法:*
除法: /
求模:%
加性操作符
- +
- -
关系操作符
大于:>
小于:<
大于等于:>=
小于等于:<=
相等操作符
相等:==
不相等:!=
全等:===
不全等:!==
条件操作符
var a = (b>c)?d:c
赋值操作符
- =
语句
if语句
do while语句:至少执行一次
while:
for语句
for in语句
break,continue
switch语句: