- Date对象
- RegExp正则表达式暂时跳过
- 三种数据类型 String、Boolean、Number
- Boolean类型
- Number类型
- String类型
- length属性
- charAt对象方法
- 字符串操作方法
- 对象方法slice()、substr()、substring()
- 字符串位置方法,对象方法indexOf()、lastIndexOf()
- 字符串包含对象方法startsWith()、endsWith()、includes()
- 字符对象方法 trim()
- 字符对象方法 repeat() 返回字符串
- 字符串的迭代与解析 iterator方法(跳过)
- 字符大小写转换的对象方法 toUpperCase & toLocaleUpperCase() & toUpperCase() &toLowerCase
- 字符串匹配对象方法 match() 方法
- localeCompare()对象方法
- 单列列值对象Global\Math
- eval()方法!重点!
- Gobal对象的属性
- window对象
- Math类
Date对象
1、创建一个新的对象
let newDate=new Date();
2、初始化一个新的对象赋值
let newDate2=new Date(1997,05,07); //注意,此处的月份从0开始计数,大于11则取余
Date对象方法
重写了toLocaleString()、toString()、valueOf()方法
let dt=new Date();let dt2=new Date("2021/04/10");console.log(dt.toLocaleString()); //2021/3/17 下午3:19:54console.log(dt.toDateString()); //Wed Mar 17 2021console.log(dt.toLocaleTimeString()); //下午3:19:54console.log(dt2.toString()); //Sat Apr 10 2021 11:08:12 GMT+0800 (中国标准时间)console.log(dt.valueOf()); //1615965903689 返回的是毫秒数
RegExp正则表达式暂时跳过
三种数据类型 String、Boolean、Number
Boolean类型
boolean 类型就true和false,没了。
console.log(1==2); //返回falseconsole.log(1==1); //返回true
bool类型需要注意的是0false,1true,但是0!==fasle,1!==true,除了1和0外其余的数既不是true也不是false
if(1==true){console.log("是的,1==true"); //返回这个}else{console.log("不是,1!=true");}if(0==false){console.log("是的,0==fasle"); //返回这个}else{console.log("不是的,0!=false");}
Number类型
对象方法toString()
let num=10;num.toString(); //返回10num.toString(2); //返回1010num.toString(8); //返回12num.toString(16); //返回‘a’
对象方法toFixed()
num.tofixed(2); //四舍五入返回小数点为2的数
ES6类方法isInteger
console.log(Number.isInteger(1)); //返回true
String类型
length属性
let str="String";console.log(str.lenth); //返回6
charAt对象方法
let str="String";console.log(str.charAt(2)); //返回字符 ‘i’console.log(str[2]); //返回字符‘i’ 但是不推荐这样直接访问字符,
注意: 在JS和C#中 string类型定义的变量都是可通过字符数组的方式进行读,但是都不能写!
Sample:逆置字符串
let str=new String("String");let rts=str.split('').reverse().join(''); //先将字符串分割为字符数组,然后转置字符数组,最后数组转换为字符串console.log(rts);
字符串操作方法
对象方法slice()、substr()、substring()
三个对象方法都能从字符串中提取子串,但是substr() 舍去不用了
subString(startIndex,endIndex);
let str="String";console.log(str.slice(0,3)); //返回Strconsole.log(str.slice(3)); //返回ingconsle.log(str.subString(0,3)); //返回Strconsle.log(str.subString(3,0)); //返回Strconsle.log(str.subString(3)); //返回ing
字符串位置方法,对象方法indexOf()、lastIndexOf()
let str="StringStr";console.log(str.indexof("Str")); //返回 0console.log(str.lastIndexOf("Str")); //返回 6
字符串包含对象方法startsWith()、endsWith()、includes()
startsWith(“子串”,开始搜索位置) 方法,用于判断子串是否为另一个串的开头,返回true或者fasle
let str="String";console.log(str.startsWith("Str")); //返回trueconsole.log(str.startsWith("Str",1)); //返回的false,第二个参数表示开始匹配子串的位置
endsWith() 方法,用于判断子串是否为另一串的结尾
let str="String";console.log(str.endsWith("ing")); //返回true
includes()方法,用于判断子串是否包含在字符串中,存在返回
let str="String";console.log(str.includes("Str")); //返回trueconsole.log(str.includes("Str",1)); //返回false,第二个参数为匹配的位置
字符对象方法 trim()
trim() 方法是用于删除字符串前和字符串后所有的空格符
let str=" String ";console.log(str); //返回的是 Stringconsole.log(str.trim()); //返回String
字符对象方法 repeat() 返回字符串
let str="Sting";let st=str.repeat(3); //返回 StringStringStringlet stt="ing".repeat(3); //返回 inginging
字符对象方法 padStart() & padEnd() 方法返回字符串
padStart(Number)方法会复制,Number是返回的字符串的长度,不够就直接用空格填充
padEnd(Number)方法则是从右边开始填充
let str="String";let s=str.padStart(10,'*'); //返回****Stringlet a=str.padEnd(10,"?"); //返回String????let q=str.padStart(2); //返回String
字符串的迭代与解析 iterator方法(跳过)
要理解iterator方法,首先得理解Arguments对象,Arguments对象是一个类似于数组,里面存放函数的实参
记住用 for of 迭代就行了
let str="String";for(let i of str){console.log(i); //输出 S t r i n g}
字符大小写转换的对象方法 toUpperCase & toLocaleUpperCase() & toUpperCase() &toLowerCase
toUpperCase 调用的变量会被强制转换为字符串类型的大写形式
let str="String";console.log(str.toUpperCase()); //返回STRING
toLowerCase 调用的变量会被强制转换为字符串类型的小写形式
let str="String";console.log(str.toLowerCase()); //返回string
toLocaleUpperCase(‘en-US’)根据本机语言环境转换为相应的大写字符串
let str="String";console.log(str.toLocaleUpperCase('en-US')); //转换为美式英语大写 STRING
toLocaleLowerCase(‘en-US’)根据本机语言环境转为相应的小写字符串
let str="String";console.log(str.toLocaleLowerCase('en-US')); //转换为没事英语小写 string
字符串匹配对象方法 match() 方法
match()方法可以接收一个正则表达式的字符串,还可以接收一个RegExp对象
localeCompare()对象方法
localeCompare() 是进行字符串的比较
let str="String";let stt="Abcdefg";console.log(str.localeCompare(stt)); //返回 1console.log(str.localeCompare(str)); //返回 0console.log(stt.localeCompare(str)); //返回-1
单列列值对象Global\Math
isNaN()、isFinite()、parseInt()和parseFloat都是Global的方法
URL编码方法encodeURI
encodeURI(uri); //uri,一个完整的uri,返回一个新的字符串,表示字符编码统一的标识符
let url="https://baidu.com";console.log(encodeURI(url)); //返回 https://baidu.com//这个方法主要用在ajax上,看起来像是无用的
URL编码方法encodeURIComponent()
let url="https://baidu.com?`~·"; //返回 https%3A%2F%2Fbaidu.com%3F%60~%C2%B7
encodeURIComponent()不会对非ASCII的字符进行编码
eval()方法!重点!
eval(string)会将传入的字符串当作代码来执行
function func(a,b,c){return a+b+c;}let str="func(100,200,300);";console.log(eval(str)); //这里返回600,执行了func()函数
通过eval()定义的任何变量和函数都不会被提升,解析代码时仍然被包围在字符串中,只有在eval()执行的时候才会被创建
在严格模式下,eval()内部创建的变量和函数,外部无法访问,同样的,赋值给eval也会报错
Gobal对象的属性
属性包括undefined、NaN、Infinity、Object、Array、Function、Boolean、String等
window对象
ECMA-262中没有规定直接访问Global对象的方式,但是window对象可以看作是Global对象的代理。因此全局作用域中所有声明的变量和函数都是window的属性。
let str="String";function func(a,b,c){return a+b+c;}console.log(window.func(1,2,3)); //返回6console.log(window.str); //返回 String
Math类
Math类属性
console.log(Math.E); //返回 e 值Math.LN10 // ln(10)Math.LN2 // ln(2)Math.PI // 返回 Π 3.1415926Math.SQRT1_2 // 返回根号 1/2Math.SQRT2 // 返回根号2
类方法 max()和min()方法
max()方法和min()方法,主要用于求一组数值中最大值和最小值
console.log(Math.min(1,3,5,7,9)); //返回 1console.log(Math.max(1.3.5.7.9)); //返回 9
类方法ceil()、floor、round、fround、
console.log(Math.ceil(25.5)); //始终向上取舍 返回 26console.log(Math.floor(25.5)); //向下取舍 返回25console.log(Math.round(25.5)); //四舍五入、返回26console.log(Math.fround(25.55)); //用单精度浮点型表示、返回25.549999237060547
类方法random()
random 方法是获取0-1之间的一个随机数 16位小数
let num=Math.random(); //返回了0.9168008932408351
其它类方法
Math.abs(x) 求绝对值、Math.pow() 求平方 、Math.sin()求sin等
