1.對于 HTTP 協(xié)議而言,HTML、CSS勾哩、JS、JSON 的本質(zhì)都是什么薛躬?
對于HTTP協(xié)議,HTML呆细、CSS型宝、JS、JSON都是符合相應(yīng)語法的字符串絮爷。
2.使用數(shù)組拼接出如下字符串 趴酣,其中styles數(shù)組里的個數(shù)不定
var prod = {
name: '女裝',
styles: ['短裝', '冬裝', '春裝']
};
function getTpl(data){
var str = '<dl class="product">';
str+="<dt>"+data.name +"</dt>"
for(var i=0; i<data.styles.length; i++){
str+='<dd>'+data.styles[i]+'</dd>'
}
str += '</dl>';
return str;
};
getTpl(prod)
var result = getTpl(prod)
<dl class="product"><dt>女裝</dt><dd>短款</dd<dd>冬季</dd><dd>春裝</dd></dl>
寫出兩種以上聲明多行字符串的方法.
<script>
var str = "你好\n\
World\n\
!";
console.log(str);
</script>
<script> var str = "你好\nWorld!" console.log(str); </script>
補(bǔ)全如下代碼,讓輸出結(jié)果為字符串: hello\饑人谷.
var str1 = 'hello\\'
var str2 = '\\饑人谷'
var str = str1 + str2
console.log(str)
var str = 'hello\\\\饑人谷' console.log(str)
以下代碼輸出什么?為什么?
var str = 'jirengu\nruoyu'
console.log(str.length)
13 因?yàn)榇嬖谵D(zhuǎn)義符 \n作為一個整體占據(jù)一個位置,所以結(jié)果是13.
寫一個函數(shù)坑夯,判斷一個字符串是回文字符串岖寞,如 abcdcba是回文字符串, abcdcbb不是.
<script>
var str = "abcdcba";
var obj = str.split('').reverse().join('');
if(obj === str) {
console.log(true);
}
</script>
寫一個camelize函數(shù),把my-short-string形式的字符串轉(zhuǎn)化成myShortString形式的字符串
function camelize(str){
var arr = str.split('-');
for (var i = 1; i < arr.length; i++){
arr[i] = arr[i].replace(arr[i][0],arr[i][0].toUpperCase());
}
return arr.join('');
}
console.log(camelize("list-style-image"))
寫一個 ucFirst函數(shù)渊涝,返回第一個字母為大寫的字符.
function ucFirst(str){
return str[0].toUpperCase()+str.slice(1).toLowerCase();
}
console.log(ucFirst("hunger"))
寫一個函數(shù)truncate(str, maxlength), 如果str的長度大于maxlength慎璧,會把str截斷到maxlength長床嫌,并加上...跨释,
var str = "hello, this is hunger valley";
function truncate (obj,num){
if(obj.length>num){
var arr = obj.split('');
arr.splice(num,obj.length-num,"....");
return arr.join('');
}
return obj;
}
console.log(truncate(str,10));
什么是 JSON格式數(shù)據(jù)胸私?JSON格式數(shù)據(jù)如何表示對象?window.JSON 是什么鳖谈?
JSON格式(JavaScriot Object Notation 的縮寫)是一種用于數(shù)據(jù)交換的文本格式岁疼,2001年由Douglas Crockford提出,目的是取代繁瑣笨重的XML格式缆娃。
相比XML格式捷绒,JSON格式有兩個顯著的優(yōu)點(diǎn):書寫簡單,一目了然贯要;符合JavaScript原生語法暖侨,可以由解釋引擎直接處理,不用另外添加解析代碼崇渗。所以字逗,JSON迅速被接受,已經(jīng)成為各大網(wǎng)站交換數(shù)據(jù)的標(biāo)準(zhǔn)格式宅广,并被寫入ECMAScript5葫掉,成為標(biāo)準(zhǔn)的一部分。
簡單說跟狱,每個JSON對象俭厚,就是一個值。要么是簡單類型的值驶臊,要么是復(fù)合類型的值挪挤,但是只能是一個值,不能是兩個或更多的值关翎。這就是說电禀,每個JSON文檔只能包含一個值。
JSON對值的類型和格式有嚴(yán)格的規(guī)定笤休。
JSON對象其實(shí)就是JSON的值尖飞,基本要符合以下規(guī)則
復(fù)合類型的值只能是數(shù)組或?qū)ο螅荒苁呛瘮?shù)店雅、正則表達(dá)式對象政基、日起對象。
簡單類型的值只有四種:字符串闹啦、數(shù)值(必須以十進(jìn)制表示)沮明、布爾值和null(不能使用NaN、Infinity和undefined)窍奋。
字符串必須使用雙引號表示荐健,不能使用單引號酱畅。
對象的鍵名必須放在雙引號里面。
數(shù)組或?qū)ο笞詈笠粋€成員的后面江场,不能加逗號
<script>
["123", "one"]
{"names": ["Cart","Steef"]}
</script>
什么是JSON對象的字面量
對象字面量其實(shí)是一種簡單的描述以及聲明方式纺酸,如上面例子的 var count = {"names": ["Cart","Steef"]},因?yàn)楸旧鞪SON就是JavaScript語法集的一種,所以JSON字面量就是用JSON格式的JavaScript對象字面量址否。
把JSON格式的字符串轉(zhuǎn)換為JS對象 parse
var str = '{ "name":"alutier","age":"24"}'
var obj = JSON.parse(str)
console.log(obj)
把js對象轉(zhuǎn)換為JSON格式的字符串 infoString
var info = '{"name":"alutier","age":"24","sex","male"}'
var infoString = JSON.stringify(info)
console.log(infoString)