1、使用數(shù)組拼接出如下字符串
var product = {
name: '女裝',
styles: ['短款', '冬季', '春裝']
};
function getTpl(product) {
var str = '<dl>';
str += ' <dt>' + product.name + '</dt>';
for(var i = 0; i < product.styles.length; i++) {
str += ' <dd>' + product.styles[i] + '</dd>';
}
str += ' </dl>';
return str;
}
console.log(getTpl(product));
<dl class="product">
<dt>女裝</dt>
<dd>短款</dd>
<dd>冬季</dd>
<dd>春裝</dd>
</dl>
2列赎、寫出兩種以上聲明多行字符串的方法
字符串默認只能寫在一行內宏悦,分成多行將會報錯。
- 如果長字符串必須分成多行包吝,可以在每一行的尾部使用反斜杠.
var longString = "Long \
long \
long \
string";
longString
// "Long long long string"
上面代碼表示饼煞,加了反斜杠以后,原來寫在一行的字符串诗越,可以分成多行砖瞧,效果與寫在同一行完全一樣。注意嚷狞,反斜杠的后面必須是換行符块促,而不能有其他字符(比如空格),否則會報錯床未。
- 連接運算符(+)可以連接多個單行字符串褂乍,用來模擬多行字符串。
var longString = 'Long '
+ 'long '
+ 'long '
+ 'string';
- 利用多行注釋即硼,生成多行字符串的變通方法逃片。
(function () { /*
line 1
line 2
line 3
*/}).toString().split('\n').slice(1,-1).join('\n')
// "line 1 line 2 line 3"
3、補全如下代碼,讓輸出結果為字符串: hello\\饑人谷
var str = "hello\\\\饑人谷";
console.log(str);
4、以下代碼輸出什么?為什么
var str = 'jirengu\nruoyu';
console.log(str.length);
輸出13褥实,因為\n算作一個字符呀狼。
5、寫一個函數(shù)损离,判斷一個字符串是回文字符串哥艇,如 abcdcba是回文字符串, abcdcbb不是
var a = "abcdedcba";
function isText(str){
var newStr = str.split("").reverse().join("");
if(newStr === str){
return true;
}
else{
return false;
}
}
console.log(isText(a));
6、寫一個函數(shù)僻澎,統(tǒng)計字符串里出現(xiàn)出現(xiàn)頻率最多的字符
var str = "znmkaslkglkxznaskljhegtoidsaaad";
function getMostFreq(str){
var num = 1;
var max = 0;
var maxCh;
var arr = str.split("").sort();
for(var i=0;i<arr.length;i++){
if(arr[i+1]===arr[i]){
num++;
}
else{
num=1;
}
if(num>max){
max=num;
maxCh=arr[i];
}
}
return ("最多字符為"+maxCh+"\n出現(xiàn)次數(shù)為"+max);
}
console.log(getMostFreq(str));
7貌踏、寫一個camelize函數(shù),把my-short-string形式的字符串轉化成myShortString形式的字符串
var str = "my-short-string";
function camelize(str){
var newStr="";
var a = str.split("-");
for(var i=1;i<a.length;i++){
newStr += a[i].replace(a[i][0],a[i][0].toUpperCase());
}
return(a[0]+newStr);
}
console.log(camelize(str));
8窟勃、寫一個 ucFirst函數(shù)祖乳,返回第一個字母為大寫的字符
var str = "hunger";
function ucFirst(str){
return(str.replace(str[0],str[0].toUpperCase()));
}
console.log(ucFirst(str));
9、寫一個函數(shù)truncate(str, maxlength), 如果str的長度大于maxlength秉氧,會把str截斷到maxlength長眷昆,并加上...
var str = "hungerdsagregcbsgaewre";
function truncate(str,maxlength){
if(str.length <= maxlength){
return str;
}
else{
return (str.substr(0,maxlength-1)+"...");
}
}
console.log(truncate(str,10));
10、什么是 json汁咏?什么是 json 語言亚斋?JSON 語言如何表示對象?window.JSON 是什么攘滩?
- 什么是 json
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據交換格式帅刊。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON采用完全獨立于語言的文本格式漂问,但是也使用了類似于C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)厚掷。這些特性使JSON成為理想的數(shù)據交換語言。 易于人閱讀和編寫级解,同時也易于機器解析和生成(網絡傳輸速度)冒黑。 - json 語言
用于表示JSON數(shù)據格式的遵循一定語法的語言。 - JSON 語言如何表示對象
對象是一個無序的“名稱/值對”集合勤哗。一個對象以“{”(左括號)開始抡爹,“}”(右括號)結束。每個“名稱”后跟一個“:”(冒號)芒划;“名稱/值對”之間使用“,”(逗號)分隔冬竟。
var json1 = {"name": "Byron", "age": "24"}
- window.JSON 是什么
window.JSON 是JSON對象,JSON對象主要有兩個『靜態(tài)』函數(shù)
parse:把字符串轉化為JSON對象
stringify:把JSON對象轉化為字符串(出人意料的不叫toString民逼,因為不是實例方法)
11泵殴、如何把JSON 格式的字符串轉換為 JS 對象?如何把 JS對象轉換為 JSON 格式的字符串?
parse:把字符串轉化為JSON對象
stringify:把JSON對象轉化為字符串
例:
var json = {
"name": "Byron",
"age": 24
};
var json_str = JSON.stringify(json);
console.log(json_str);
console.log(JSON.parse(json_str));