JavaScript基础知识
JavaScript 是互联网上最流行的脚本语言,是一种轻量级的编程语言,可插入 HTML 页面的编程代码,由浏览器执行
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 <script type="text/javascript"> 2 function Plus(){ 3 // alert(123) 4 var st=document.getElementById("count").value 5 var st_int=parseInt(st) 6 var new_int=st_int+1 7 document.getElementById("count").value=new_int 8 } 9 function jian(){ 10 // alert(123) 11 var st=document.getElementById("count").value 12 var st_int=parseInt(st) 13 var new_int=st_int-1 14 document.getElementById("count").value=new_int 15 } 16 </script>
JavaScript的用法
JavaScript的编写必须写在<script></script>标签之间,存在方式有两种:
- 直接在<script></script>里编写JavaScript代码
- 写在.js文件中,然后通过<script src="xxxx.js"></script>将js文件导入
JavaScript的存放位置:
- head标签里
- body标签里,一般放在body代码块底部
数据类型
- 字符串(String)
- 数字(Number)
- 布尔(Boolean)
- 数组(Array)
- 对象(Object)
- 空(Null)
- 未定义(Undefined)
字符串
常见的功能:
String 对字符串的支持
String.charAt( ) 返回字符串中的第n个字符 String.charCodeAt( ) 返回字符串中的第n个字符的代码 String.concat( ) 连接字符串 String.fromCharCode( ) 从字符编码创建—个字符串 String.indexOf( ) 检索字符串 String.lastIndexOf( ) 从后向前检索一个字符串 String.length 字符串的长度 String.localeCompare( ) 用本地特定的顺序来比较两个字符串 String.match( ) 找到一个或多个正则表达式的匹配 String.replace( ) 替换一个与正则表达式匹配的子串
+ $&表示匹配成功的项
+ 如果在匹配中加入分组的话,$1代表第一个组,以此类推 $n代表第n个组
+ $$输出一个$
+ $`:位于匹配子串左侧的文本
+ $':位于匹配子串右侧的文本
String.search( ) 检索与正则表达式相匹配的子串 String.slice( ) 抽取一个子串 String.split( ) 将字符串分割成字符串数组 String.substr( ) 抽取一个子串 String.substring( ) 返回字符串的一个子串 String.toLocaleLowerCase() 把字符串转换小写 String.toLocaleUpperCase() 将字符串转换成大写 String.toLowerCase( ) 将字符串转换成小写 String.toString( ) 返回字符串 String.toUpperCase( ) 将字符串转换成大写 String.valueOf( ) 返回字符串
数字(Number)
在JavaScript中,数字不分为整数类型和浮点型类型,所有的数字都是由 浮点型类型
常用的属性和方法:
Infinity,无穷大。可使用 isFinite(num) 来判断。
Number 对数字的支持
Number.MAX_VALUE 最大数值 Number.MIN_VALUE 最小数值 Number.NaN 特殊的非数字值
可以使用isNaN(num)来判断一个数是否为NaN Number.NEGATIVE_INFINITY负无穷大 Number.POSITIVE_INFINITY正无穷大 Number.toExponential( ) 用指数计数法格式化数字 Number.toFixed( ) 采用定点计数法格式化数字 Number.toLocaleString( )把数字转换成本地格式的字符串 Number.toPrecision( ) 格式化数字的有效位 Number.toString( ) 将—个数字转换成字符串
可以使用 toString() 方法 输出16进制、8进制、2进制。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 var myNumber=128; 2 myNumber.toString(16); // 返回 80 3 myNumber.toString(8); // 返回 200 4 myNumber.toString(2); // 返回 10000000
Number.valueOf( ) 返回原始数值
parseInt(..) 将某值转换成数字,不成功则NaN
parseFloat(..) 将某值转换成浮点数,不成功则NaN
布尔(Boolean)
如果boolean为0,-0,null,“”,false,undefined,NaN,那么对象的值为false,否则为true
- == 比较值相等
- != 不等于
- === 比较值和类型相等
- !=== 不等于
- || 或
- && 且
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 a=123 2 123 3 b="123" 4 "123" 5 a==b 6 true 7 a===b 8 false
数组(Array)
数组的定义:
var myCars=new Array("Saab","Volvo","BMW");
var myCars=["Saab","Volvo","BMW"];
常见功能:
Array 对数组内部的支持
Array.concat( ) 连接数组 Array.join( ) 将数组元素连接起来以构建一个字符串 Array.length 数组的大小 Array.pop( ) 删除并返回数组的最后一个元素 Array.push( ) 给数组添加元素 Array.reverse( ) 颠倒数组中元素的顺序 Array.shift( ) 将元素移出数组 Array.slice(start, deleteCount, value...) 返回数组的一部分,可插入、删除或替换数组的元素
obj.splice(n,
0
,val) 指定位置插入元素
obj.splice(n,
1
,val) 指定位置替换元素
obj.splice(n,
1
) 指定位置删除元素
Array.sort( ) 对数组元素进行排序 Array.splice( ) 插入、删除或替换数组的元素 Array.toLocaleString( ) 把数组转换成局部字符串 Array.toString( ) 将数组转换成一个字符串 Array.unshift( ) 在数组头部插入一个元素
对象(Object)
JavaScript是面向对象的语言,但是JavaScript没有class,只有函数,使用函数来构造对象
对象构造
function person(firstname,lastname,age,eyecolor) { this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; }
obj=new person("xxx","xxx",18,"xxx")
通过定义一个函数来创建一个对象,通过new来创建一个对象,这个相当于类的构造函数,形式有点像C++。虽然我们也可以在函数里面定义方法,但是这样的话,每创建一个对象,都会在内存里开辟内存来存储方法,这肯定是不行的,所有我们可以通过以下方法来创建‘’类”的方法:
类名(也就上面的函数名).prototype={ 方法名:function(){ return this.Name+this.Age } } 或者写成: 类名.prototype.方法名=function(){ ... }
时间处理对象(Date)
Date 操作日期和时间的对象
Date.getDate( ) 返回一个月中的某一天 Date.getDay( ) 返回一周中的某一天 Date.getFullYear( ) 返回Date对象的年份字段 Date.getHours( ) 返回Date对象的小时字段 Date.getMilliseconds( ) 返回Date对象的毫秒字段 Date.getMinutes( ) 返回Date对象的分钟字段 Date.getMonth( ) 返回Date对象的月份字段 Date.getSeconds( ) 返回Date对象的秒字段 Date.getTime( ) 返回Date对象的毫秒表示 Date.getTimezoneOffset( ) 判断与GMT的时间差 Date.getUTCDate( ) 返回该天是一个月的哪一天(世界时) Date.getUTCDay( ) 返回该天是星期几(世界时) Date.getUTCFullYear( ) 返回年份(世界时) Date.getUTCHours( ) 返回Date对象的小时字段(世界时) Date.getUTCMilliseconds( ) 返回Date对象的毫秒字段(世界时) Date.getUTCMinutes( ) 返回Date对象的分钟字段(世界时) Date.getUTCMonth( ) 返回Date对象的月份(世界时) Date.getUTCSeconds( ) 返回Date对象的秒字段(世界时) Date.getYear( ) 返回Date对象的年份字段(世界时) Date.parse( ) 解析日期/时间字符串 Date.setDate( ) 设置一个月的某一天 Date.setFullYear( ) 设置年份,也可以设置月份和天 Date.setHours( ) 设置Date对象的小时字段、分钟字段、秒字段和毫秒字段 Date.setMilliseconds( ) 设置Date对象的毫秒字段 Date.setMinutes( ) 设置Date对象的分钟字段和秒字段 Date.setMonth( ) 设置Date对象的月份字段和天字段 Date.setSeconds( ) 设置Date对象的秒字段和毫秒字段 Date.setTime( ) 以毫秒设置Date对象 Date.setUTCDate( ) 设置一个月中的某一天(世界时) Date.setUTCFullYear( ) 设置年份、月份和天(世界时) Date.setUTCHours( ) 设置Date对象的小时字段、分钟字段、秒字段和毫秒字段(世界时) Date.setUTCMilliseconds( ) 设置Date对象的毫秒字段(世界时) Date.setUTCMinutes( ) 设置Date对象的分钟字段和秒字段(世界时) Date.setUTCMonth( ) 设置Date对象的月份字段和天数字段(世界时) Date.setUTCSeconds( ) 设置Date对象的秒字段和毫秒字段(世界时) Date.setYear( ) 设置Date对象的年份字段 Date.toDateString( ) 返回Date对象日期部分作为字符串 Date.toGMTString( ) 将Date转换为世界时字符串 Date.toLocaleDateString( ) 回Date对象的日期部分作为本地已格式化的字符串 Date.toLocaleString( ) 将Date转换为本地已格式化的字符串 Date.toLocaleTimeString( ) 返回Date对象的时间部分作为本地已格式化的字符串 Date.toString( ) 将Date转换为字符串 Date.toTimeString( ) 返回Date对象日期部分作为字符串 Date.toUTCString( ) 将Date转换为字符串(世界时) Date.UTC( ) 将Date规范转换成毫秒数 Date.valueOf( ) 将Date转换成毫秒表示
正则表达式对象(RegExp)
- /....../:定义正则表达式
- /....../g:全局匹配
- /....../i:不区分大小写
- /....../m:多行匹配
功能:
RegExp 用于模式匹配的正则表达式 RegExp.exec( ) 通用的匹配模式 RegExp.global 正则表达式是否全局匹配 RegExp.ignoreCase 正则表达式是否区分大小写 RegExp.lastIndex 下次匹配的起始位置 RegExp.source 正则表达式的文本 RegExp.test( ) 检测一个字符串是否匹配某个模式 RegExp.toString( ) 把正则表达式转换成字符串
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 var patt1=new RegExp("e"); 2 document.write(patt1.test("The best things in life are free")); 3 4 #####输出###### 5 true
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 var patt1=new RegExp("e"); 2 document.write(patt1.exec("The best things in life are free")); 3 4 #######输出######### 5 e