字符串
var str = 'hello'
var str1 = 'world'
var str3 = "yyz"
var str4 = ' key="value" '
var str5 = "It's a long journey"
"Did she say \"Hello\"?"
var str6 = 'hello \n world'
//利用多行注释,生成多行字符串的变通方法
(function () {
line 1
line 2
line 3
}).toString().split('\n').slice(1,-1).join('\n')
// "line 1 line 2 line 3"
var fn = function () { /*
<div>
<a href="http://jirengu.com">jirengu</a>
</div>
*/}
console.log(fn.toString())
长度计算 连接
var str = 'hello';
console.log( str.length );
console.log( str[0] );
console.log( str[str.length - 1] ); //最后一位
console.log( str.charAt(0) ); //h
console.log( str.charCodeAt(0) ); //asics码
var str2 = 'world';
var str3 = str1 + str2
console.log( str3 );
截取
var str = "hello world";
var sub1 = str.subStr(1, 3); //第一个开始位置 第二个是长度
var sub2 = str.subString(1, 3); //第一个是开始位置 第二个是结束位置 长度为结束位置减去开始位置
var sub3 = str.slice(1, 3); //同上 允许负参
查找
var str = "hello my world";
var s1 = str.search('my'); //6 找不到为-1
var s2 = str.replace('my', 'your'); //
var s3 = str.match('my') //返回匹配的数组
大小写
字符串的所有操作都不会改变原有的字符串
var str = "Hello";
str.toUpperCase();
str.toLowerCase();
var str1 = str.toUpperCase()
//undefined
str1.toLowerCase()
//"HELLO"
var str12 = "Hello"
str12.split('')
//["H", "e", "l", "l", "o"]
var str = 'abcdefg'
str.split('')
str.split('').reverse()
str.split('').reverse().join('')
str == str.split('').reverse().join('')
JSON 轻量级数据交换格式 基于JS(ECMA-262)的一个子集
数据交换格式 XML JSON YAML CSV 等
JSON语法是JavaScript对象表示语法的子集
1.数据在名称/值中
2.数据由逗号分隔
3.花括号保存对象
4.方括号保存数组
var json1 = {"name": "Byron", "age": "24"}
var json2 = [
{"name": "Byron", "age": "24"},
{"name": "Byron2", "age": "25"}
]
字面量的表示方式
var obj = {
"name": "jirengu",
"age": 30
}
var arr = [1,2,3]
IE以上浏览器都支持了一个对象JSON JSON对象主要有两个 静态函数
1.parse:把字符串转化为JSON对象
2.stringify:把JSON对象转化为字符串(不叫toString) 因为不是实例方法
var str = '{"name": "fem", "age": 30}'
var obj = JSON.parse(str)
console.log(obj.name)
console.log(JSON.stringify(obj))
eval不建议用了
json2 兼容低版本IE
var obj = {
"name": "jirengu",
"age": 30,
"2345": 'hello'
}
obj.name = 'ruoyu'
obj.age = 20
obj.['2345'] = 'world'
属性的遍历
var people = {
"firstName": "John",
"lastName": "Smith",
"sex": "third",
"age": 25,
"address":
{
"stressAddress": "21 2nd Street",
"city": "New York",
"state": "NY"
"postalCode": "10021"
},
"phoneNumber":
{
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
}
}
for(var key in people){
console.log(key, ":", people[key])
}
var str = 'hello world haha hoho llooo lol'
var dict = {}
for(var i = 0; i < str.length; i++){
if(dict[str[i]]){
++dict[str[i]]
}else{
dict[str[i]] = 1
}
}
var count = 0
var maxValue
for(key in dict){
if(dict[key] > count){
maxValue = key
count = dict[key]
}
}
console.log(count, maxValue)
题目1:使用数组拼接出如下字符串 ,其中styles数组里的个数不定
1.png
题目2:写出两种以上声明多行字符串的方法
这段字符串很长,如何多行优雅的显示
2.png
题目3:补全如下代码,让输出结果为字符串: hello\饥人谷
3.pngvar str = 'hello\\\\饥人谷'
console.log(str)
题目4:以下代码输出什么?为什么
4.png//结果为13
题目5:写一个函数,判断一个字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是
str1 = 'abcdcba'
function strCheck(str){
return str === str.split('').reverse().join('')
}
strCheck(str1)
//true
网友评论