1. 使用數組拼接出如下字符串
var prod = {
name: '女裝',
styles: ['短款', '冬季', '春裝']
};
function getTpl(data){
var str=[];//創建一個空數組,用來存放字符串
str.push("<dl class="product">");
str.push("<dt>"+prod.name+"</dt>");
for(var i=0;i<prod['styles'].length;i++){
str.push("<dd>"+prod['styles'][i]+"</dd>")
}
str.push("</dl>");
var str2=str.join(" \n");//把str數組中的所有元素轉換一個字符串
return str2;
};
var result = getTplStr(prod); //result為下面的字符串
<dl class="product">
<dt>女裝</dt>
<dd>短款</dd>
<dd>冬季</dd>
<dd>春裝</dd>
</dl>
Paste_Image.png
2.寫出兩種以上聲明多行字符串的方法.
1.使用連接符號
var str="everthing "
+ "will "
+"be "
+"gone "
+"fine "
+"!"
2.使用轉義符號,注意轉義符后面的符號。
var str="everthing \
will \
be \
gone \
fine \
!"
3.使用函數注釋及split()、join()方法,但是壓縮代碼時可能失效。
var str=(function(){
/*
* var s1=0;
for(var i=0;i<arguments.length;i++){
s1=s1+arguments[i]*arguments[i];
}
return s1;
*
* */
})
var str1=str.toString();//轉成字符串
var str2=str1.split(" ");//把字符分割返回數組,
var str3=str2.join(" ");//str2中的所有元素放入一個字符串
console.log(str3);
最后使用substring(),去掉開始和結束的注釋即可
以上為了方便理解分開寫,可以連著寫:
var str=(function(){
/*
var s1=0;
for(var i=0;i<arguments.length;i++){
s1=s1+arguments[i]*arguments[i];
}
return s1;
*/
}).toString().split().join();
4.可以使用數組定義,join()連接
var str=["hello","world","!"].join(" ")
3、補全如下代碼,讓輸出結果為字符串: hello\饑人谷
var str = "hello\\\\饑人谷";//\\為特殊字符,如過要原樣輸出要加反斜杠轉義字符。
console.log(str)
4、以下代碼輸出什么?為什么
var str = 'jirengu\nruoyu'
console.log(str.length)
輸出:
13
"\n"表示換行符,代表一個字符,長度為1。
5、寫一個函數,判斷一個字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是
function f(str) {
var str1 = str.split("");//分割字符串成數組
return (str1.reverse().toString() === str.split("").toString()) ;
}
var hah="abcddcba";
var a= f(hah);
console.log(a);//true
6、寫一個函數,統計字符串里出現出現頻率最多的字符
function a(str){
var str1=str.split("");//分割字符串 ["h", "h", "h", "h", "i", "i", "j"]
var obj={ };
for(var i=0;i<str.length;i++){
console.log(obj[str[i]]);
if(obj[str[i]]){
obj[str[i]]++;
}else {
obj[str[i]]=1;
}
}
//console.log(obj);//Object {h: 4, i: 2, j: 1}
var count=0;
var index;
for(var j in obj){ //遍歷屬性,如果屬性值大于count,
if(obj[j]>count){
count=obj[j];
index=j;
}
}
console.log(index+":"+count);
}
var s="hhhhiij";
var check=a(s);
console.log(check);
7、寫一個camelize函數,把my-short-string形式的字符串轉化成myShortString形式的字符串,如
camelize("background-color") == 'backgroundColor'
camelize("list-style-image") == 'listStyleImage'
function camelize(str) {
var str1=str.split("-");//["jian", "jian"]
var str2=[];//創建一個空的數組
str2.push(str1[0]);//
var str3=str1.slice(1);//分割的數組的第一個刪除,
for(var i=0;i<str3.length;i++){
//把字符串第一個變成大寫,用+連接截取第二個到最后一個的字符串。
str2.push(str3[i][0].toUpperCase()+str3[i].substring(1,str3[i].length));
}
return str2.join("");
}
var l="jian-jian-haha";
console.log(camelize(l));//jianJianHaha
8、寫一個 ucFirst函數,返回第一個字母為大寫的字符 (***)
ucFirst("hunger") == "Hunger"
function ucFirst(str) {
var str1=str[0].toUpperCase()+str.substring(1,str.length);
return str1;
}
var a=ucFirst("hunger");
console.log(a);//Hunger
console.log(ucFirst("hunger") == "Hunger");//true
9、寫一個函數truncate(str, maxlength), 如果str的長度大于maxlength,會把str截斷到maxlength長,并加上...,如
truncate("hello, this is hunger valley,", 10) == "hello, thi...";
truncate("hello world", 20) == "hello world"
function truncate(str,maxlength) {
if (str.length>maxlength){
return str.substring(0,maxlength)+"...";
}else {
return str;
}
}
var a=truncate("everthing will be gone fine",26);
console.log(a);//everthing will be gone fin...
10、什么是 json?什么是 json 語言?JSON 語言如何表示對象?window.JSON 是什么?
什么是json?
JSON(JavaScript Object Notation, JS 對象標記) 是一種輕量級的數據交換格式。它基于 ECMAScript (w3c制定的js規范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。
什么是json語言?
JSON 指的是 JavaScript 對象表示法(JavaScript Object Notation)
JSON 是輕量級的文本數據交換格式
JSON 獨立于語言 *
JSON 具有自我描述性,更易理解
JSON 使用 Javascript語法來描述數據對象,但是 JSON 仍然獨立于語言和平臺。JSON 解析器和 JSON 庫支持許多不同的編程語言。 目前非常多的動態(PHP,JSP,.NET)編程語言都支持JSON。
JSON 語言如何表示對象?
JSON 對象使用在大括號({})中書寫。
對象可以包含多個 key/value(鍵/值)對。
key 必須是字符串,value 可以是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 null)。
key 和 value 中使用冒號(:)分割。
每個 key/value 對使用逗號(,)分割。
字符串必須使用雙引號表示,不能使用單引號。
對象的鍵名必須放在雙引號里面。
數組或對象最后一個成員的后面,不用加逗號
如:
json={
"name":"小明",
"age":18,
"sex":"male"
}
window.JSON 是什么?
JSON對象主要有兩個『靜態』函數
parse:function parse() //JSON.parse() 方法將數據轉換為 JavaScript 對象。
stringify:function stringify() //SON.stringify() 方法將 JavaScript 對象轉換為字符串
Symbol(Symbol.StringTag):"JSON" //Symbol.toStringTag 是一個內置 symbol,它通常作為對象的屬性鍵使用,對應的屬性值為JSON。
__proto__:Object //原型屬性
11、如何把JSON 格式的字符串轉換為 JS 對象?如何把 JS對象轉換為 JSON 格式的字符串?
如何把JSON 格式的字符串轉換為 JS 對象
使用 JSON.parse() 方法將數據轉換為 JavaScript 對象
var obj={
name:'小明',
age:18,
sex:'male'
}
var myJSON = JSON.stringify(obj);
var myObj=JSON.parse(myJSON);//Object {name: "小明", age: 18, sex: "male"}
如何把 JS對象轉換為 JSON 格式的字符串
使用 JSON.stringify() 方法將 JavaScript 對象轉換為字符串。
var obj={
name:'小明',
age:18,
sex:'male'
}
var myJSON = JSON.stringify(obj);
console.log(myJSON)//"{"name":"小明","age":18,"sex":"male"}"