1、使用数组拼接出如下字符串
<code><pre>
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>
</pre></code>
2、写出两种以上声明多行字符串的方法
答:第一种:
<pre>var str = 'bsdsdsjkdw' +
'bddmsdxcs' +
'cwsds' +
'cnsd' +
'csghd';
console.log(str);
</pre>
第二种:
<pre>
//利用注释:
(function str(){/*
line 1
line 2
line 3
*/}).toString().split('\n').slice(1,-1).join('\n');
//但是有些时候代码压缩处理后,注释会被去除,就会出问题。
</pre>
3、补全如下代码,让输出结果为字符串: hello\饥人谷
<pre>
var str ='hello\\饥人谷' //补全代码
console.log(str)
</pre>
4、以下代码输出什么?为什么
<pre>var str = 'jirengu\nruoyu'
console.log(str.length)</pre>
答:13,因为\n算一个字符-换行符。
5、写一个函数,判断一个字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是
答:
<pre>
var str3 = 'abcdcba'
function ispalin(str) {
var arr = str.split('')
var str_rever = arr.reverse().join('')
if (str===str_rever){
return true
} else {
return false
}
}
console.log(ispalin(str3))
</pre>
6、写一个函数,统计字符串里出现出现频率最多的字符
答:
<pre>
var str22= 'hello limian'+
'NASA to Host News Conference'+
'on Discovery Beyond Our Solar System';
/strnum存储每一个出现的字符及出现的次数,键为出现的字符,键值为该字符出现的次数/
var strnum ={};
for(var i= 0;i<str22.length;i+=1){
if (strnum[str22[i]]){
console.log(str22[i]);
strnum[str22[i]]+=1;
} else {
console.log(str22[i]);
strnum[str22[i]]=1;
}
}
console.log(strnum);
var num= 0;
var num_str;
/遍历strnum,找出最大键值和对应的键/
for(var j in strnum){
if (strnum[j]>num&&j!=" "){
num = strnum[j];
num_str=j;
}
}
/打印出现次数最多的字符/
console.log(num_str);
/打印出现次数最多的字符出现的次数/
console.log(num);
</pre>
7、写一个camelize函数,把my-short-string形式的字符串转化成myShortString形式的字符串,如
<pre>
camelize("background-color") == 'backgroundColor'
camelize("list-style-image") == 'listStyleImage'
//返回第一个字母为大写的字符串.
function ucFirst(str){
var newstr = str.substring(1)
var cha = str[0].toUpperCase()
return cha+newstr
}
var str = 'list-style-image'
console.log(camelize(str))
//把my-short-string形式的字符串转化成myShortString形式的字符串
function camelize(str) {
var arr= str.split('-')
for(var i=1;i<arr.length;i++){
arr[i] = ucFirst(arr[i])
}
return arr.join('')
}
</pre>
8、写一个 ucFirst函数,返回第一个字母为大写的字符串
<pre>
ucFirst("hunger") == "Hunger"
function ucFirst(str){
var newstr = str.substring(1);
var cha = str[0].toUpperCase();
return cha+newstr;
}
</pre>
9、写一个函数truncate(str, maxlength), 如果str的长度大于maxlength,会把str截断到maxlength长,并加上...,如
<pre>
truncate("hello, this is hunger valley,", 10)) == "hello, thi...";
truncate("hello world", 20)) == "hello world"
-------***------
<script>
//写一个函数truncate(str, maxlength), 如果str的长度大于maxlength,会把str截断到maxlength长,并加上...,如
function truncate(str,len) {
var strlen = str.length
if(strlen>len) {
return str.split('').slice(0, strlen).join('').concat('...')
} else {
return str
}
}
console.log(truncate('hello, this is hunger valley', 10))
console.log(truncate("hello world", 20))
</script>
10、什么是 json?什么是 json 对象?什么是 json 对象字面量?什么是 JSON内置对象?
答: json 是一种一种轻量级的数据交换格式。json 对象是 javascript 定义的对象,用来处理 JSON 格式数据。json 对象字面量是采用 JSON 格式定义的 JavaScript 对象。JSON内置对象是经过JSON.parse()转换的值。
11、如何把JSON 格式的字符串转换为对象?如何把对象转换为 JSON 格式的字符串?
答:JSON.parse(str),JSON.stringify(obj)