记得上次学到了数组,和数组有关的一些类别,现在开始看其他的数据类型,不过个人感觉非常无趣,可以完全跳过这章节。
String
js的字符串的符号运算:
var str1 = '12'
var str2 = '34'
var str3 = 'qwe'
var str4 = '12.1'
console.log(str1 + str2); // 1234
console.log(str1 - str2); // -22 Number
console.log(str1 + str3); // 12qwe
console.log(str1*3); // 36 Number
console.log(str3 * 2); NaN
console.log(str1 / str2); // 0.3... Number
console.log(str1/str3); // NaN
字符串在js中,拥有自己的一套属性与方法:
var str = '12345';
console.log(str.length) // 5
console.log(str[1]) // 2
console.log(str.charAt(1)) // 2
console.log(str.charCodeAt(1)) // 50
(unicode)
console.log(str.indexOf(3)) // 2
console.log(str.indexOf('3')) // 2
String详情方法
String构造器:
String()可以转化数据类型
* 其中如果直接转换对象会返回: [object Object]这个字符串
* 如果直接转换函数则真的会把整个函数的写法变成字符串
* 如果直接转换数字,则返回与数字相同的字符串
* 如果是Bolean则返回true或false字符串
* 如果是undefined则返回undefined字符串
* 如果是null则返回null字符串有一点比较有趣,就是字符串只能通过中括号访问,却并不能修改,于是我们得麻烦点比如将str用split分成数组,然后再替换掉数组中的当前位置,并最后用join处理,当然比较麻烦,但没有找到直接修改的方法,也是希望有人能回答
字符串的重要方法:
最重要的两个:match和replace
var str = 'theworld'
console.log(str.match('the')) // ['asd', index: 0, input: 'asd1swr1qwordtheworld']
console.log(str.match(/w/)) // ['w', index: 3, input: 'theworld']
console.log(str.match(/s/g)) // ['w']对于replace
首先讨论它的回调传入的参数,是一个标有0,1,2属性的对象, 0表示匹配到的字符串, 1表示index,2则表示字符串本身,而return的值则代表着替换值,如果传入的reg为g,则会多次替换
var reg = /(?=the)w/
str.replace(reg, function () {return a
}) // aworld
Date
Date的创建:
var d1=Date(); //返回一个字符串(string),没有getDate等日期对象方法,内容为当前时间
var d2=new Date(); //返回一日期对象,可以调用getDate(),内容为当前时间
var d3=Date("2000-1-1");//返回一个字符串(string),内容仍旧为当前时间,也就是不受参数影响
var d4=new Date("2000-1-1");//返回一日期对象,可以调用getDate(),内容为2000年元旦1970 00:00:00 UTC为起始时间
Date的方法
Number
详细解释
null
console.log(typeof null === 'object') //true
var s = null
if (s) {console.log(s); // 不打印
}
undefined
console.log(typeof undefined === 'undefined') // true
附
想挑战自虐的同学请点击此链接