初识JavaScript
一、JavaScript简介
1.ECMAScript
1)为了确保不同的浏览器上运行的JavaScript标准一致,所以几 个公司共同定制了JS的标准名命名为ECMAScript。(但是实际上JavaScript的含义却要更大一些)
2)ECMAscript定义的只是这门语言的基础,我们常见的web浏览器只是其实现可能的宿主环境之一。
2.JavaScript构成
3.解释型语言
JavaScript是一门解释型语言,所谓解释型值语言不需要被编 译为机器码在执行,而是直接执行。
4.动态语言
JavaScript是一门动态语言,所谓的动态语言可以暂时理解为
在语言中的一切内容都是不确定的。
二、基本语法
1.编写位置
1)代码全都需要在网页中编 写。
2)JS代码需要编写到
3)我们一般将script标签写到head中。(和style标签有点像)
4)属性:
–type:默认值text/javascript可以不写,不写也是这个值。
–src:当需要引入一个外部的js文件时,使用该属性指向文件的地址。
例子:
2.严格区分大小写
JavaScript是严格区分大小写的,也就是abc和Abc会被解析器
认为是两个不同的东西。
3.注释
JS中的注释和Java的的一致,分为两种:
–单行注释://注释内容
–多行注释:/注释内容/
4.标识符
1)所谓标识符,就是指变量、函数、属性的名字,或函数的参数。
2)标识符可以是按照下列格式规则组合起来的一或多个字符:
–第一个字符必须是一个字母、下划线或一个美元符号( $ )。
–其他字符可以是字母、下划线、美元符号或数字。
注:JavaScript中的标识符不能是关键字和保留字符。
5.关键字和保留字符
6.变量(给某一个值或对象标注名称)
1)变量的声明:
–使用var关键字声明一个变量。
–var a;
2)变量的赋值:
–使用=为变量赋值。
– a=123;
3)声明和赋值同时进行:
– var a = 123;
7.数据类型
JavaScript中一共有5种基本数据类型,字符串型(String)、数值型(Number)、布尔型(Boolean)、null型(Null)、undefined型(Undefined)这5种之外的类型都称为Object,所以总的来看JavaScript中共有六种数据类型。
1)字符串型(String)
a.字符串需要使用 ’或“ 括起来。
b.将其他数值转换为字符串有三种方式:toString()、String()、 拼串。
c.转义字符
2)数值型(Number)
a.Number 类型用来表示整数和浮点数,最常用的功能就是用来表示10进制的整数和浮点数。
b.Number表示的数字大小是有限的,范围是:
– ±1.7976931348623157e+308
– 如果超过了这个范围,则会返回±Infinity。
c.NaN,即非数值(NotaNumber)是一个特殊的数值,JS中 当对数值进行计算时没有结果返回,则返回NaN。
3)布尔型(Boolean)
a.布尔型也被称为逻辑值类型或者真假值类型。
b.布尔型只能够取真(true)和假(false)两种数值。
c.其他的数据类型也可以通过Boolean()函数转换为布尔类型。
d.转换规则:
4)null型(Null)
a.Null 类型是第二个只有一个值的数据类型,这个特殊的值是
null。
b.从语义上看null表示的是一个空的对象。
5)undefined型(Undefined)
a.Undefined 类型只有一个值,即特殊的undefined。
b.在使用 var 声明变量但未对其加以初始化时,这个变量的值就 是 undefined。
c.undefined值实际上是由null值衍生出来的,所以如果比undefined和null是否相等,会返回true。
注:typeof对没有初始化和没有声明的变量都会返undefined。
8.typeof运算符
用来检查一个变量的数据类型
–typeof数值 number
–typeof字符串 string
–typeof布尔型 boolean
–typeof undefined undefined
–typeof null object
9.数值的转换
1)有三个函数可以把非数值转换为数值:Number()、parseInt() 和parseFloat()。
2)Number()可以用来转换任意类型的数据,而后两者只能用于转换字符串。
3)parseInt()只会将字符串转换为整数,而parseFloat()可以转换为浮点数。
10.运算符
1)算术运算符
自增和自减
–自增和自减分为前置运算和后置元素。
–所谓的前置元素就是将元素符放到变量的前边,而后置将元素符放到变量的后边。
–例子:
•前置自增:++a
•后置自减:a—
–运算符在前置时,表达式值等于变量原值。
–运算符在后置是,表达式值等于变量变更以后的值。
2)逻辑运算符
一般情况下使用逻辑运算符会返回一个布尔值,•在进行逻辑操作时如果操作数不是布尔类型则会将其转换布尔类型在进行计算。
非!
•非运算符可以应用于任意值,无论值是什么类型,这个运
算符都会返回一个布尔值。
•非运算符会对原值取反。
与&&
•与运算符可以应用于任何数据类型,且不一定返回布尔 值。
•对于非布尔值运算,会先将非布尔值转换为布尔值。
•对布尔值做运算时,如果两个值都为true则返回true, 否则返回false。
•非布尔值时:如果两个都为true,则返回第二个值,如 果两个值中有false则返回靠前的false的值。
或||
•或运算符可以应用于任何数据类型,且不一定返回布尔值。
•对于非布尔值运算,会先将非布尔值转换为布尔值。
•对布尔值进行运算时,如果两个值都为false则返回false, 否则返回true。
•非布尔值时:如果两个都为false,则返回第二个值,否则返回靠前true的值。
3)赋值运算符
=、+=、*=、-=、/=、%=
4)关系运算符
小于(<)、大于(>)、小于等于(<=)、大于等于(>=)
5)条件运算符
6)相等
相等==、不相等!=
注:null和undefined使用==判断时是相等的。
7)全等(===)
===
表示全等,它和==
基本一致,不过==
在判断两个值 时会进行自动的类型转换,而===
不会。
11.语句
1)条件语句
if…else语句
•第一种形式:
•第二种形式:
switch…case语句
switch语句更适用于多条分支使用同一条语句的情况。
•语法:
2)循环语句
while语句
语法:
do…while语句
•do…while和while非常类似,只不过它会在循环的尾部而不是顶部检查表达式的值。
•do…while循环会至少执行一次。
•语法:
for语句
语法:
3)break和continue
•使用break语句会使程序立刻退出最近的循环,强制执行循环后边的语句。
•break和continue语句只在循环和switch语句中使用。
•使用continue语句会使程序跳过当次循环,继续执行下一次循环,并不会结束整个循环。
•continue只能在循环中使用,不能出现在其他的结构中。