法门扫地僧

为API生,为框架死,为debug奋斗一辈子,吃符号亏,上大小写的当,最后死在产品上。

 

javascript基础知识

一、JavaScript基础
1.什么是JavaScript?
JavaScript是由Netscape公司推出的运行在客户端的解释性脚本语言。
JavaScript是一种"弱"类型的语言。
将HTML、CSS、JavaScript技术称为客户端技术,其最大难点在于:浏览器兼容性。
JavaScript是Netscape公司的产品;JScript是Microsoft公司的产品。
JavaScript与Java之间不存在任何关系。
2.JavaScript能做什么?
JavaScript主要实现客户端的交互工作,如菜单、选项卡、广告轮播、表单验证等效果。
3.JS的语法结构
3.1)引用外部的JS文件
JS文件的扩展名.js
<script type="text/javascript" src="JS文件URL"></script>
3.2)书写在当前文档内部
<script type="text/javascript">
  ...
  ...
</script>
说明:
A.JS严格区分大小写
B.每行JS语句"必须"以分号结尾
二、变量
1.什么是变量?
变量(variable)是指存储在内存中有名称的信息,其值在程序运行期间可以发生变化。
2.声明变量
[var] 变量名称 [=值]
说明:
A.变量名称必须以字母、下划线、美元符号开头,包含字母、数字及下划线;
B.变量名称禁止包含空格、斜线、反斜线等特殊符号;
C.变量名称禁止与系统关键字/保留关键字相同;
D.变量名称最好含义明确;
E.变量名称最好遵守"驼峰标记法"
3.系统关键字
var、if、else、switch、case、break、default、for、while...
4.保留关键字
class、float、int、boolean、extends、implements、public、
protected、private,...
三、数据类型
1.字符串(string),必须括在单引号或双引号之间。
2.转义符
       
        \n,换行
       
        \r,回车
       
        \t,水平制表符
       
        \v,垂直制表符
       
        \\,反斜线
       
        \',单引号
       
        \",双引号
3.数值型(number),整数或浮点数,可以带有符号位。
    对于整数可以用八进制(以0开头)、十进制、十六进制(以0x或0X开头)表示。
4.布尔型号(boolean),值只能为true/false。
5.自定义函数(function),可以重复执行代码段。
    函数是JavaScript中的一等公民
   
6.未定义(undefined),是变量或自定义函数的参数的初始值,以下情形的值为undefined:
  undefined的类型是undefined。
 
  undefined是window对象的属性,但是undefined不是一个JavaScript的保留关键字
  A.尚未赋值的变量或自定义函数的参数
 
  B.赋值为undefined的变量
 
  C.自定义函数的默认返回值
 
7.空值(null),表示对象,值是null,null是一个保留关键字。
  
  null进行数学运算时将转换成0。
 
  undefined进行数学运算时的结果一定为NaN(Not a Number)。
8.对象(object),属性与方法的集合体。
四、流程控制语句
1.if语句
  if(条件表达式){
    ...
    ...
  }
2.if...else语句
 
  if(条件表达式){
    ...
    ...
  } else {
    ...
    ...
  }
 
3.if...else if ... else 语句
  if(条件表达式){
     ...
  } else if(条件表达式){
     ...
  } ... else {
     ...    
  }
 
4.switch
  switch(测试变量){
     case 值:
       ...
       break;
     case 值:
       ...
       break;
     ...
     default:
        ...
        break;      
  }
说明:switch进行严格类型比较。
5.for语句
for(expr1;expr2;expr3){
   ...
   ...
}
说明:
A.表达式1在执行前无条件执行一次;
B.表达式2在每次执行时都将执行,以决定能否进行循环体;
C.表达式3在每次执行后都将执行
6.while语句
while(条件表达式){
  ...
  ...
}
while和for语句称之为当量循环/前测型循环。
7.do...while语句
do{
...
...
}while(条件表达式);
五、JavaScript内置对象
1.String对象
1.1)创建String对象
直接量方式
var variable = 'string'
构造函数方式
var object = new String(string str)
1.2)属性
length
描述:返回字符串的长度
语法:int object.length
1.3)方法
toLowerCase()
描述:转换成小写字母
语法:string object.toLowerCase(void)
toUpperCase()
描述:转换成大写字母
语法:string object.toUpperCase(void)
indexOf()
描述:返回字符串第一次出现的位置,如果没有出现则返回-1
语法:int object.indexOf(string str[,int start])
说明:字符串从0开始编号
lastIndexOf()
描述:返回字符串最后一次出现的位置,如果没有出现则返回-1
语法:int object.lastIndexOf(string str[,int start])
substr
描述:截取字符串
语法:string object.substr(int start[,int length])
说明:如果start参数为负数,则倒数
substring
描述:截取字符串
语法:string object.substring(int start[,int end])
说明:包含起始位,但不包含结束位
replace
描述:使用正则达式进行替换
语法:string object.replace(string search,string replacment)
split
描述:字符串拆分
语法:array object.split(string delimiter)
match
描述:在字符串内检索指定的值,如果匹配则返回该字符串,否则返回null
语法:mixed object.match(string str/regexp)
search
描述:字符串检索指定的值,如果找到,则返回其位置,否则返回-1
语法:int object.search(string regexp)
2.Math对象
2.1)说明
Math对象是JavaScript中的静态对象。
2.2)属性
Math.PI,返回圆周率
Math.SQRT2,返回2的平方根
2.3)方法
ceil()
描述:进一取整
语法:number Math.ceil(number var)
floor()
描述:舍一取整
语法:number Math.floor(number var)
pow()
描述:幂运算
语法:number Math.pow(number base,number exp)
sqrt()
描述:获取平方根
语法:number Math.sqrt(number var)
max()
描述:返回最大值
语法:number Math.max(number var,number var[,...])
min()
描述:返回最小值
语法:number Math.min(number var,number var[,...])
random()
描述:产生0~1之间的随机数(0<=n<1)
语法:number Math.random(void)
round()
描述:四舍五入
语法:number Math.round(number var)
3.Number对象
3.1)属性
Number.MIN_VALUE,返回最小值
Number.MAX_VALUE,返回最大值
Number.NaN,返回NaN
Number.NEGATIVE_INFINITY,返回负数的无穷大
Number.POSITIVE_INFINITY,返回正数的无穷大
3.2)方法
toString()
描述:转换成字符串,但可以指定进制
语法:string object.toString([number base])
toFixed()
描述:四舍五入操作
语法:number object.toFixed([int length])
4.Array对象
4.1)创建Array对象
直接量方式
var variable = [...]
构造函数方式
var object = new Array(int length)
var object = new Array(value[,...])
4.2)属性
length
描述:获取数组成员的数量
语法:int object.length
4.3)方法
push()
描述:在数组的未尾添加一个或多个成员,并且返回数组的新长度
语法:int object.push(mixed value[,...])
unshift()
描述:在数组的开头添加一个或多个成员,并且返回数组的新长度
语法:int object.unshift(mixed value[,...])
pop()
描述:删除数组的最后一个成员,并且返回该成员
语法:mixed object.pop(void)
shift()
描述:删除数组的第一个成员,并且返回该成员
语法:mixed object.shift(void)
join()
描述:将数组成员连接成字符串
语法:string object.join([string delimiter])
slice()
描述:截取数组成员
语法:array object.slice(int start[,int end])
4.4)数组遍历
for(key in array/object){
   ...
   ...
}
5.Date对象
5.1)创建Date对象
构造函数方式
var object = new Date()
5.2)方法
getYear()
描述:获取年份(从公元1900年到现在经历的年份)
语法:string object.getYear()
getFullYear()
描述:获取年份
语法:string object.getFullYear()
getMonth()
描述:获取月份,其范围为0~11
语法:string object.getMonth()
getDate()
描述:获取日期
语法:string object.getDate()
getDay()
描述:获取今天是星期的第几天(0为星期日,依次类推)
语法:string object.getDay()
getHours()
描述:获取小时,范围为0~23
语法:string object.getHours()
getMinutes()
描述:获取分钟,范围为0~59
语法:string object.getMinutes()
getSeconds()
描述:获取秒,范围为0~59
语法:string object.getSeconds()
getMilliseconds()
描述:获取毫秒,范围为0~999
语法:string object.getMilliseconds()
getTime()
描述:获取带有毫秒的时间戳
语法:string object.getTime()
6.RegExp对象
6.1)创建RegExp对象
直接量方式
var variable = /pattern/modifier
构造函数方式
var object = new RegExp(string pattern[,string modifier])
修正符:
g,全局匹配
i,忽略大小写
6.2)正则表达式
6.2.1)元字符
6.2.2)转义符
6.2.3)量词
6.2.4)贪婪模式与非贪婪模式
6.2.5)捕获组与非捕获组
6.3)方法
test()
描述:检测字符串是否符合正则表达式的规范
语法:bool object.test(string)
六、JavaScript调试工具
1).基础
以Firefox为例,需要下载Firefox调试工具--Firebug
下载Firebug(http://getfirebug.com)

posted on 2019-11-04 11:16  法门扫地僧  阅读(180)  评论(0编辑  收藏  举报

导航