使用數(shù)組拼接出如下字符串 ,其中styles數(shù)組里的個(gè)數(shù)不定
var prod = {
name: '女裝',
styles: ['短款', '冬季', '春裝']
};
function getTplStr(data){
var arr = [];
arr.push('<dl class="product">');
arr.push('<dt>女裝</dt>');
for (var i = 0; i<prod.styles.length; i++) {
arr.push('<dt>'+prod.styles[i]+'</dt>');
}
return arr.join('');
};
var result = getTplStr(prod); //result為下面的字符串
<dl class="product"><dt>女裝</dt><dd>短款</dd<dd>冬季</dd><dd>春裝</dd></dl>
寫出兩種以上聲明多行字符串的方法
//如果長字符串必須分成多行,可以在每一行的尾部使用反斜杠。
var str = 'hello\
world\
';
//連接運(yùn)算符(+)可以連接多個(gè)單行字符串,用來模擬多行字符串超陆。
var str = 'hello '
+ 'world '
+ '!';
補(bǔ)全如下代碼,讓輸出結(jié)果為字符串: hello\\饑人谷
var str = "hello \\\\ jirengu"http://補(bǔ)全代碼
console.log(str)
以下代碼輸出什么?為什么
var str = 'jirengu\nruoyu'
console.log(str.length)
以上代碼輸出的str的長度為13,因?yàn)? \n '是換行符,不計(jì)入長度里面戚嗅。
寫一個(gè)函數(shù)俗他,判斷一個(gè)字符串是回文字符串勒叠,如 abcdcba是回文字符串, abcdcbb不是
var str1 = 'abcdcba';
var str2 = 'abcdcbb';
function symmetric(str) {
newStr = str.split('').reverse().join('');
if (str === newStr) {
return "是回文字符串";
} else {
return "不是回文字符串";
}
}
console.log(symmetric(str1)); //是回文字符串
console.log(symmetric(str2)); // 不是回文字符串
寫一個(gè)函數(shù),統(tǒng)計(jì)字符串里出現(xiàn)出現(xiàn)頻率最多的字符
var str = "hello javascript css html vue.js react angualr !"
function maxChar(str) {
var obj = {},
character = '',
count = 0;
for (var i = 0; i < str.length; i++) { //把字符串整理成一個(gè)對(duì)象的形式 {a:2, b:5, d:8...}
if (obj[str[i]]) {
obj[str[i]]++;
} else {
obj[str[i]] = 1;
}
}
for (key in obj) {
if (obj[key] > count) { //找到最大值
count = obj[key];
character = key;
}
}
return '出現(xiàn)頻率最多的字符是:' + character + ',' + '次數(shù)為:' + count;
}
console.log(maxChar(str)); //出現(xiàn)頻率最多的字符是: ,次數(shù)為:7
寫一個(gè)camelize函數(shù)脊串,把my-short-string形式的字符串轉(zhuǎn)化成myShortString形式的字符串 (這里踩了for in遍歷的一個(gè)巨坑)
var str = "list-style-image";
function camelize(str) {
var newArr = [];
var wordArr = str.split('-');
for (i in wordArr) {
i = parseInt(i); //這里的i是字符串'0',所以要這樣處理 標(biāo)準(zhǔn)的for循環(huán)中的i是number類型,表示的是數(shù)組的下標(biāo),但是for in循環(huán)中的i表示的是數(shù)組的key是string類型
if (i === 0) {
newArr.push(wordArr[0]);
} else {
newArr.push(wordArr[i][0].toUpperCase() + wordArr[i].slice(1));
}
}
// for (var i = 0; i<wordArr.length; i++) {
// if (i === 0) {
// newArr.push(wordArr[0]);
// } else {
// console.log(i);
// newArr.push(wordArr[i][0].toUpperCase() + wordArr[i].slice(1));
// }
// }
newStr = newArr.join('');
return newStr;
}
console.log(camelize(str));
寫一個(gè) ucFirst函數(shù)凉泄,返回第一個(gè)字母為大寫的字符
function ucFirst(str) {
return str.substring(0, 1).toUpperCase() + str.substring(1);
}
console.log(ucFirst("hunger")); //Hunger
寫一個(gè)函數(shù)truncate(str, maxlength), 如果str的長度大于maxlength躏尉,會(huì)把str截?cái)嗟絤axlength長,并加上...后众,如
var str = "hello world";
function truncate(str, maxlength){
if (str.length>=maxlength) {
str = str.substr(0,maxlength) + '...';
}
return str;
}
console.log(truncate(str, 5)); //hello...
10胀糜、什么是 JSON格式數(shù)據(jù)?JSON格式數(shù)據(jù)如何表示對(duì)象蒂誉?window.JSON 是什么教藻?
概念
JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。它是基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個(gè)子集右锨。 JSON采用完全獨(dú)立于語言的文本格式括堤,但是也使用了類似于C語言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言绍移。 易于人閱讀和編寫悄窃,同時(shí)也易于機(jī)器解析和生成(網(wǎng)絡(luò)傳輸速度
JSON的優(yōu)點(diǎn)有:
- 書寫簡(jiǎn)單,一目了然蹂窖;
- 符合JavaScript原生語法轧抗,
- 可以由解釋引擎直接處理,不用另外添加解析代碼瞬测。
JSON 語法是 JavaScript 對(duì)象表示語法的子集
- 數(shù)據(jù)在名稱/值對(duì)中
- 數(shù)據(jù)由逗號(hào)分隔
- 花括號(hào)保存對(duì)象
- 方括號(hào)保存數(shù)組
JSON 數(shù)據(jù)的書寫格式是:名稱/值對(duì)横媚,名稱/值對(duì)組合中的名稱寫在前面(在雙引號(hào)中)纠炮,值對(duì)寫在后面(同樣在雙引號(hào)中),中間用冒號(hào)隔開:
var json1 = {"name": "Byron", "age": "24"}
var json2 = [
{"name": "Byron", "age": "24"},
{"name": "Byron2", "age": "25"}
]
window.JSON是瀏覽器內(nèi)置對(duì)象分唾,可用于判斷瀏覽器是否兼容JSON的用法抗碰,例如IE8版本以上才內(nèi)置支持JSON.parse方法。JSON對(duì)象內(nèi)置了JSON.parse()绽乔、JSON.stringify()兩種方法
11弧蝇、如何把JSON 格式的字符串轉(zhuǎn)換為 JS 對(duì)象?如何把 JS對(duì)象轉(zhuǎn)換為 JSON 格式的字符串?
- 把字符串變成json對(duì)象:JSON.parse()
- 把json對(duì)象變成字符串:JSON.stringify()
//JSON字符串 ---> 對(duì)象
var str = ' {"name":"aaa","age":21}'
JSON.parse(str)
//對(duì)象 ---> JSON字符串
var obj = {
"name":"aaa",
"age":20
}
JSON.stringify(obj);