事件 | 描述 |
---|---|
onchange | HTMl元素被改变 |
onclick | 用户点击HTML元素 |
onmouseover | 用户鼠标接触HTML元素上 |
onmouseout | 用户鼠标离开HTML元素 |
onkeydown | 用户按下键盘按键 |
onload | 浏览器完成页面加载 |
代码 | 结果 | 描述 |
---|---|---|
\ ' | ' | 单引号 |
\ " | " | 双引号 |
\ \ | \ | 反斜杠 |
\ b | 退格 | |
\ f | 换页 | |
\ n | 跳到新的一行 | |
\ r | 回车 | |
\ t | 水平制表符 | |
\ v | 垂直制表符 |
var firstName = "Bill" ;
var firstName = new String("Bill") ;
var x = "Bill" ;
var y = new String ("Bill") ;
typeof x ; //返回String
typeof y ; //返回object
不建议将字符串创建为对象,会拖慢执行速度, new 关键字会使代码复杂化 当使用 == 运算时,为 true 当使用 === 运算时,为 false
var x = "Bill" ;
var y = new String ("Bill") ;
x == y ; //true
x === y ; //false
字符串变量.length;
var txt = "I am is Student" ;
var len = txt.length ;
// 输出txt的长度:len=15
var str = "I want world peach" ;
var pos = str.indexof("w");
JavaScript 从零开始计算位置。
var pos = str.lastIndexo("w");
如果 indexof() 和 lastIndexof() 均为找到,会返回 -1
var str = "I want world peach" ;
var pos = str.search("w")
var str = "Refueling Huawei Refueling China";
var res = str.slice(7,13);
// 结果:Huawei
> 如果省略第二个参数,则会以第一个参数开始,到字符的最后。
var res = str.slice(17);
// 结果:Refueling China
如果参数为负数,则是从尾部开始从零计数
var res = str.slice(-5);
// 结果:China
var str = "Refueling Huawei Refueling China";
var res = str.substr(10,6);
// 结果:Huawei
如果省略了第二参数则会截取开始位置剩下的所有字符 如果参数为负数,则从字符串的结尾开始计算位置(从零开始) 第二个参数不能为负数
var str = "Refueling Huawei Refueling China";
var rep = str.replace("Huawei","China");
// 结果:Refueling China Refueling China
replace方法调用不会改变字符串的原有内容,只会在替换后,返回一个新的字符串。 默认的,replace只替换首个匹配到的字符(串)。
默认的,replace对大小写敏感区分,如果要忽略大小写区分,可以使用正则:/ i
var str = "Refueling Huawei Refueling China";
var rep = str.replace("/HUAWEI/i","China");
// 结果:Refueling China Refueling China
注意:正则表达式不带引号。
var str = "Refueling Huawei Refueling China Refueling Huawei Refueling China Refueling Huawei Refueling China ";
var rep = str.replace("/Huawei/g","China");
// 结果:Refueling China Refueling China Refueling China Refueling China Refueling China Refueling China
如需替换所有匹配,使用正则的 /g 标志(用于全局搜索)——如上
var txt = "Huawei Refueling";
var Upptxt = txt.toUppercase();
// 结果:HUAWEI REFUELING
var txt = "Huawei Refueling";
var Upptxt = txt.toLowercase();
// 结果:huawei refueling
var str = "Huawei Refueling";
var str1= "China Refueling";
var txt = str.concat(" & ",str1);
// 结果:Huawei Refueling & China Refueling
concat()方法可用于代替加运算符;如下是等效的两条:
var txt = "Huawei Refueling" + " & " + "China Refueling";
var txt = "Huawei Refueling".concat(" & ","China Refueling");
// 结果:Huawei Refueling & China Refueling
// 1,2 行代码的结果是等效的
改变的不是字符串,只是生成了一个新的字符串
var str = " Huawei Refueling ";
var txt = str.trim();
var str = "Huawei Refueling";
var txt = str.charAt(7);
// 结果:R
var str = "Huawei Refueling";
var txt = str.charCodeAt(7);
// 结果:82
var str = "Huawei Refueling";
str[0];
//结果:H
var str = "a,b,c,d,e";
str.split(","); // 逗号分隔
str.split("|"); // 竖线分隔
str.split(" "); // 空格分隔
// 以指定的字符作为分隔条件将str字符串转为数组
如果没有分隔条件约束,字符串将包含到一个数组空间中即:str[0]=a,b,c,d,e
如果分隔符是"",返回的是间隔单个字符的数组
var str = "Huawei";
str.split("") ;
书写JavaScript数值,既可以带小数点,也可以不带。
var x = 123e5 ; // 12300000
var y = 123e-5 ; // 0.00123
JavaScript 数值始终是 64 位的浮点数
var x = 100 ; // x是数字
var y = "100" ; // y是字符串
在数字运算中,JavaScript会尝试将字符串转为数字进行运算
var x = "100" ;
var y = "10" ;
var z = x / y ; //结果:z = 10
javaScript会对乘法、除法、减法等除了加法以外的字符串数字进行算数运算 但是,不会对 加法 进行算数运算; 会对加法进行字符串的级联
var x = 100 / "Huawei" ;
// 结果:x = NaN
表示x现在是不合法的
var x = 100 / "Huawei";
isNaN(x);//返回 true
NaN 在typeof会认定为 number ===> 认为是一个数
var myNumber = 2 ;
while(myNumber != Infinity){
myNumber = myNumber * myNumber ;
}
除以 零 也会生成 Infinity
var x = 2 / 0 ; //x ==> Infinity
var y = -2 / 0 ; //y ==> -Infinity
var x = 0xFF ;
// 结果: 255
一些版本也会把 0 带头的数解释为八进制
var myNumber = 128 ;
myNumber.toString(16) ; // 十六进制输出 80
myNumber.toString(8) ; // 八进制输出 200
myNumber.toString(2) ; // 二进制输出 1000 0000
通常JavaScript 数值是通过字面量创建的原始值:var x = 123 ; 也可以通过关键字 new 定义为对象: var y = new Number(123);
var x = 123 ;
var y = new Number(123) ;
// typeof x 返回 number
// typeof y 返回 object
不建议使用new定义对象,因为 JavaScript对象无法逻辑对比
所有数字方法可用于任何类型的数字(字面量、变量或表达式)
var myNumber = 128 ;
myNumber.toString(16) ; // 十六进制输出 80
myNumber.toString(8) ; // 八进制输出 200
myNumber.toString(2) ; // 二进制输出 1000 0000
myNumber.toString() ; // 默认进制输出 128
myNumber.toString(10) ; // 十进制输出 128
var x = 3.145 ;
x.toExponential(2) ; // 返回 3.15e+0
x.toExponential(4) ; // 返回 3.1450e+0
x.toExponential(6) ; // 返回 3.145000e+0
x参数是可选的,没有设置就不会对数值进行四舍五入;如果设置了,就会按照x位小数进行四舍五入并以指数的方法进行输出字符串值类型。
var x = 3.145 ;
x.toFixed(0); // 返回 3
x.toFixed(2); // 返回 3.15
x.toFixed(4); // 返回 3.1450
var x = 3.145 ;
x.toPrecision() ; // 返回 3.145
x.toPrecision(2); // 返回 3.1
x.toPrecision(4); // 返回 3.145
x.toPrecision(6); // 返回 3.14500
这些方法是全局的JavaScript方法
方法 | 描述 |
---|---|
Number() | 返回数值,由其参数转换而来 |
parseFloat() | 解析其参数并返回浮点数 |
parseInt() | 解析其参数并返回整数 |
x = true ;
Number(x) ; // 返回 1
x = false ;
Number(x) ; // 返回 0
x = new Data() ;
Number(x) ; // 返回 14045680277739
x = "10" ;
Number(x) ; // 返回 10
x = "10 20" ;
Number(x) ; // 返回 NaN
如果变量无法转为数字,则返回 NaN(非数值)
Number(new Date("2019-06-18")) ;
// 返回:1560816000000
paresInt("10") ; // 返回 10
paresInt("10.33"); // 返回 10
paresInt("10 20 30"); // 返回 10
paresInt("Huawei 10"); // 返回 NaN
如果无法转换为数值,则返回 NaN
paresFloat("10"); // 返回 10
paresFloat("10.33"); // 返回 10.33
paresFloat("10.11 2.2 22"); // 返回 10.11
paresFloat("Huawei 10.11"); // 返回 NaN
如果无法转换为数值,则返回 NaN
属性 | 描述 |
---|---|
MAX_VALUE | 返回JavaScript中可能的最大的数 |
MIN_VALUE | 返回JavaScript中可能的最小的数 |
NEGATIVE_INFINITY | 表示负的无穷大 |
NaN | 表示非数字值 |
POSITIVE_INFINITY | 表示无穷大(溢出返回) |
!