您的位置:首页 > Web前端 > JavaScript

JavaScript基础

2017-04-06 23:14 281 查看
一、JavaScript基础

1.什么是JavaScript?

JavaScript是运行在客户端的解释性脚本语言;

扩展:

A.HTML、CSS、JavaScript都是在浏览器运行,所以称为客户端技术,会存在

浏览器兼容性;

B.所有的编程语言执行方式有两种:编译、解释;

C.JavaScript与Java之间不存在任何关系;

(小故事:JavaScript最早命名为LiveScript,但为更好推广该产品,于是在

征得Sun同意的情况下,将其命名为JavaScript)

D.JavaScript是Netscape(网景)公司在其Netscape Navigator浏览器中首先推出的;

E.Microsoft在其IE浏览器中推出JScript与JavaScript抗衡;

F.Netscape将JavaScript提交ECMA(欧洲计算机制造商协会),建议

其JavaScript定立为脚本语言的标准,最后定立脚本语言的标准--ECMAScript[简称ES](基本上与JavaScript1.5相同);

所有的浏览器都兼容ECMAScript262-3的标准;

ECMAScript最新版本为ES-6;

G.JavaScript的由ECMAScript、DOM、BOM组成;

H.在EMAScript中规定数据类型、关键字、保留关键字、流程控制语句、内置对象等;

I.如果JS代码既存在服务器代码,又存在客户端代码,那么先运行服务器脚本,然后再运行客户端脚本;

二、JavaScript语法结构

1)引入外部的JS文件

JavaScript文件的扩展名为.js

<script type="text/javascript" src="JS文件URL"></script>

2)书写于文档内部

<script type="text/javascript">

...
...

</script>

JavaScript语法结构说明:

A.JS严格区分大小写;

B.每行JS代码"必须"以分号结尾;

三、变量

3.1)什么是变量?

变量是指存储在内存有名称的信息,其值在程序运行期间可以发生变化;

3.2)声明变量

var 变量名称;

var 变量名称 = 值;

说明:

A.var关键字可以省略,但不建议省略;

B.变量必须以字母或下划线开头,包含字母、数字、下划线,但不能包含空格、斜线、反斜线等特殊符号;

C.变量名称禁止与系统关键字、保留关键字相同;

3.3)关键字

var、if、else、switch、case、break、for、in、do、while、function

3.4)保留关键字

float、class、integer、boolean、string、interface、extends、implements、public、protected、private

四、数据类型

undefined(未定义),是指声明但没有赋值或赋值为undefined的变量或未定义返回值的函数或方法;

string:必须括在单引号或双引号之间;

转义符

\n,换行

\r,回车

\t,水平制表符

\v,垂直制表符

\f,换页(走纸)

\\,反斜线

\',单引号

\",双引号

number,数值或浮点数;

boolean,布尔型,结果只能为true或false;

function,函数,实现一次定义,多次调用;

object,对象

null:空值(如断开继承时)

在通过typeof()函数进行测试时,undefined的类型为undefined,而null的类型为object

五、流程控制语句

1)if语句

if(条件表达式){
执行代码
...
}

2)if...else语句

if(条件表达式){
执行代码
...
} else {
执行代码
...
}
3)if...else if..else语句
if(条件表达式){
执行代码
...
} else if(条件表达式) {
执行代码
...
} ... else{
执行代码
...
}

4)switch

switch(测试表达式){
case 值1:
...
break;
case 值2:
...
break;
...
default:
...
break;
}

说明:switch将进行全等运算;

5)for语句

for(expression1;expression2;expression3){
执行代码;
...
}

6)while语句

while(条件表达式){
执行代码;
...
}

7)do...while语句

do{
执行代码;
...

} while(条件表达式);

8)for...in语句

for(key in array/object) {
执行代码;
...
}

ES5中支持数组的forEach()方法

array.forEach(function(value,index){
执行代码;
...
});

六、运算符

6.1)字符运算符: +

6.2)数学运算符:+(正数)、-(负数)、*、/、%、+、-

6.3)自增/自减运算符: n++、n--、++n、--n

后缀形式:先使用,后加减

前缀形式:先加减,后使用

6.4)比较运算符:>、>=、==、!=、===、!==、<=、<

6.5)逻辑运算符:!、&&、||

七、内置对象

7.1)String对象

声明string对象

直接量方式

var 变量名称 = '值';

var 变量名称 = "值";

构造函数方式

var 变量名称 = new String('[值]')

属性

length

描述:获取字符串的长度

语法:int object.length

方法

toLowerCase()

描述:字符串转换成小写

语法:string object.toLowerCase(void)

toUpperCase()

描述:字符串转换成大写

语法:string object.toUpperCase(void)

substr

描述:截取字符串

语法:string object.substr(int start[,int length])

说明:

A.字符从0开始编号;

B.如果没有指定length参数,则返回从开始位置到字符串结尾之间的内容

C.如果start参数为负数,则倒数;

substring

描述:截取字符串

语法:string object.substring(int start[,int end])

说明:

A.如果没有指定start参数,则返回从开始位置到字符串结尾之间的内容

B.包含起始位,但不包含结束位;

replace()

描述:字符串替换

语法:

string object.replace(string search,string replacement)

string object.replace(object RegExp,string replacement)

search()

split()

描述:拆分字符串

语法:

array object.split(string delimiter)

array object.split(object RegExp)

7.2)Math对象

说明:Math对象是一个静态对象;

访问属性

Math.属性名称

调用方法:

Math.方法名称()

属性

Math.PI

Math.SQRT2

方法

Math.ceil()

描述:进一取整

语法:number Math.ceil(number arg)

Math.floor()

描述:舍一取整

语法:number Math.floor(number arg)

Math.pow()

描述:幂运算

语法:number Math.pow(number base,number exp)

Math.sqrt()

描述:获取平方根

语法:number Math.sqrt(number arg)

Math.random()

描述:产生随机数(0<=n<1)

语法:number Math.random(void)

round()

描述:四舍五入(只能保留到整数位)

语法:number Math.round(number arg)

7.3)Date对象

创建Date对象

var 变量 = new Date();

方法

getYear()

描述:获取年份(从1900年到现在经历的年份)

语法:int object.getYear(void)

getFullYear()

描述:获取年份

语法:int object.getFullYear(void)

getMonth()

描述:获取月份(返回范围为0~11)

语法:int object.getMonth(void)

getDate()

描述:获取是该月的第几天

语法:int object.getDate(void)

getDay()

描述:获取星期的第几天(0为星期日,依次类推)

语法:int object.getDay(void)

getHours()

描述:返回小时(范围为0~23)

语法:int object.getHours(void)

getMinutes()

描述:返回分钟(范围为0~59)

语法:int object.getMinutes(void)

getSeconds()

描述:返回秒数(范围为0~59)

语法:int object.getSeconds(void)

getMillseconds()

描述:返回毫秒数(范围为0~999)

语法:int object.getMilliseconds(void)

getTime()

描述:返回毫秒级时间戳

语法:int object.getTime(void)

7.4)Array对象

创建Array对象

构造函数方式

var 变量名称 = new Array(int length)

var 变量名称 = new Array(value,value,...)

直接量方式

var 变量名称 = [[value][,...]]

属性

length

描述:获取数组成员数量

语法:int object.length

方法

push()

描述:在数组的未尾添加一个或多个成员

语法:int object.push(mixed value[,...])

unshift()

描述:在数组的开头添加一个或多个成员

语法:int object.unshift(mixed value[,...])

shift()

描述:删除数组的第一个成员,并且返回该成员

语法:mixed object.shift(void)

pop()

描述:删除数组的最后一个成员,并且返回该成员

语法:mixed object.pop(void)

join

描述:将数组成员使用分隔符连接成字符串

语法:

string object.join(void)

string object.join(string separator)

7.5)RegExp对象

直接量方式

var 变量名称 = /正则表达式/[修正符]

构造函数方式

var 变量名称 = new RegExp('正则表达式'[,修正符])

修正符

g(global),全局

i(ignore),忽略大小写

元字符

\s,匹配任何空白,等价于[\n\r\t\v\f]

\S,匹配任何非空白,等价于[^\n\r\t\v\f]

\d,匹配任何数字,等价于[0-9]

\D,匹配任何非数字,等价于[^0-9]

\w,匹配任何单词字符,等价于[0-9a-zA-Z_]

\W,匹配任何非单词字符,等价于[^0-9a-zA-Z_]

.,匹配除换行外的任何字符

转义符

\n,换行

\r,回车

\t,水平制表符

\v,垂直制表符

\f,换页(走纸)

\\,反斜线

\',单引号

\",双引号

\.,点本身

\|,竖线

\[,左侧方括号

\],右侧方括号

\(,左侧圆括号

\),右侧圆括号

\{,左侧花括号

\},右侧花括号

\?,问号

\*,星号

\+,加号

量词

?,匹配零次或一次,等价于{0,1}

*,匹配至少零次,等价于{0,}

+,匹配至少一次,等价于{1,}

{m},匹配m次

{m,},匹配至少m次

{m,n},匹配至少m次,至多n次

test()

描述:检测字符串是否符合正则表达式的规范

语法:boolean object.test(string str)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JavaScript基础