1、使用數(shù)組拼接出如下字符串
var prod = {
name: '女裝',
styles: ['短款', '冬季', '春裝']
};
function getTpl(data){
//todo...
};
var result = getTplStr(prod); //result為下面的字符串
<dl class="product">
<dt>女裝</dt>
<dd>短款</dd>
<dd>冬季</dd>
<dd>春裝</dd>
</dl>
代碼如下:
var prod = {
name: '女裝',
styles: ['短款', '冬季', '春裝']
};
function getTpl(data){
arr=[];
arr.push('<dl class="product">');
arr.push('<dt>'+data.name+'</dt>');
for(var i=0;i<data.styles.length;i++){
arr.push('<dd>'+data.styles[i]+'</dd>')
}
arr.push('</dl>');
console.log(arr.join(""));
}
getTpl(prod);
2规婆、寫出兩種以上聲明多行字符串的方法
例如:
var str = 'abcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancde'
這段字符串很長惶凝,如何多行優(yōu)雅的顯示
代碼如下:
- 使用轉(zhuǎn)義字符\n
var str1='abcdeabcde\nabcdeancdeabcdeabcdea\nbcdeancdeabcdeabcde\nabcdeancdeabcde\nabcdeabcdeancde'
- 使用轉(zhuǎn)移字符\ 空格
var str1='abcdeabcde\
\nabcdeancdeabcdeabcdea\
\nbcdeancdeabcdeabcde\
\nabcdeancdeabcde\
\nabcdeabcdeancde'
3笋额、補(bǔ)全如下代碼,讓輸出結(jié)果為字符串: hello\饑人谷
var str = "hello\\\\饑人谷"http://補(bǔ)全代碼
console.log(str)
4岸梨、以下代碼輸出什么?為什么
var str = 'jirengu\nruoyu'
console.log(str.length) \\13 因?yàn)閈n是轉(zhuǎn)義符喜颁,只占一個(gè)長度
5、寫一個(gè)函數(shù)曹阔,判斷一個(gè)字符串是回文字符串半开,如 abcdcba是回文字符串, abcdcbb不是
var str="abcdcba";
function isReverse(str){
return str.split('').reverse().join('')
}
var result = isReverse(str);
if(result===str){
console.log(str+"是回文字符串")
}else{
console.log(str+"不是回文字符串")
}
6、寫一個(gè)函數(shù)次兆,統(tǒng)計(jì)字符串里出現(xiàn)出現(xiàn)頻率最多的字符
var str="hello,everythone,this is my facebook";
var dist={};
for(var i=0;i<str.length;i++){
if(dist[str[i]]){
++ dist[str[i]]
}else{
dist[str[i]]=1
}
}
//console.log(dist)
var num=0;
var max
for(key in dist){
if(dist[key]>num){
num = dist[key]
max = key
}
}
console.log(num,max)
7、寫一個(gè)camelize函數(shù)锹锰,把my-short-string形式的字符串轉(zhuǎn)化成myShortString形式的字符串
function cameLize(str){
var arr = str.split('-');
if (arr.length === 1) return str;
for (var i=1;i<arr.length;i++){
arr[i] = arr[i][0].toUpperCase().concat(arr[i].substring(1));
}
return arr.join('')
}
console.log(cameLize("my-short-string"));
8芥炭、寫一個(gè) ucFirst函數(shù),返回第一個(gè)字母為大寫的字符 (***)
function ucFirst(str){
return str[0].toUpperCase().concat(str.substr(1));
}
9恃慧、寫一個(gè)函數(shù)truncate(str, maxlength), 如果str的長度大于maxlength园蝠,會(huì)把str截?cái)嗟絤axlength長,并加上...痢士,如
function truncate(str,maxlength){
var str2;
if(maxlength>=str.length) {
str2= str
}else{
str2 = str.slice(0,maxlength)+'...';
}
return str2;
}
var s1=truncate("hello, this is hunger valley,", 10)
var s2=truncate("hello world", 2)
console.log(s1)
console.log(s2)
10彪薛、什么是 JSON格式數(shù)據(jù)?JSON格式數(shù)據(jù)如何表示對(duì)象怠蹂?window.JSON 是什么善延?
- json(javascript object notation)的縮寫是一種用于數(shù)據(jù)交換的文本格式,目的是取代繁瑣的xml城侧。具有書寫簡單易遣,一目了然,符號(hào)
javascript原生語法嫌佑,可以由解釋引擎直接處理豆茫,不用另外添加解析代碼侨歉。所以,json迅速被接受揩魂,成為es5標(biāo)準(zhǔn)的一部分幽邓。 - var json1 = {"name": "Nick", "age": "7"}
- window.JSON : 是瀏覽器內(nèi)置對(duì)象』鹇觯可用于判斷瀏覽器是否兼容JSON的用法.
if (!window.JSON) {
window.JSON = {
parse: function(sJSON) { return eval('(' + sJSON + ')'); },
stringify: (function () {
var toString = Object.prototype.toString;
var isArray = Array.isArray || function (a) { return toString.call(a) === '[object Array]'; };
var escMap = {'"': '\\"', '\\': '\\\\', '\b': '\\b', '\f': '\\f', '\n': '\\n', '\r': '\\r', '\t': '\\t'};
var escFunc = function (m) { return escMap[m] || '\\u' + (m.charCodeAt(0) + 0x10000).toString(16).substr(1); };
var escRE = /[\\"\u0000-\u001F\u2028\u2029]/g;
return function stringify(value) {
if (value == null) {
return 'null';
} else if (typeof value === 'number') {
return isFinite(value) ? value.toString() : 'null';
} else if (typeof value === 'boolean') {
return value.toString();
} else if (typeof value === 'object') {
if (typeof value.toJSON === 'function') {
return stringify(value.toJSON());
} else if (isArray(value)) {
var res = '[';
for (var i = 0; i < value.length; i++)
res += (i ? ', ' : '') + stringify(value[i]);
return res + ']';
} else if (toString.call(value) === '[object Object]') {
var tmp = [];
for (var k in value) {
if (value.hasOwnProperty(k))
tmp.push(stringify(k) + ': ' + stringify(value[k]));
}
return '{' + tmp.join(', ') + '}';
}
}
return '"' + value.toString().replace(escRE, escFunc) + '"';
};
})()
};
}
11牵舵、如何把JSON 格式的字符串轉(zhuǎn)換為 JS 對(duì)象?如何把 JS對(duì)象轉(zhuǎn)換為 JSON 格式的字符串?
var str = {name:"anny",
age:20}
console.log(JSON.stringify(str))
console.log(JSON.parse(JSON.stringify(str)))