使用数组拼接出如下字符串 ,其中styles数组里的个数不定
<dl class="product"><dt>女装</dt><dd>短款</dd<dd>冬季</dd><dd>春装</dd></dl>
var prod = {
name: '女装',
styles: ['短款', '冬季', '春装']
};
function getTpl(prod) {
var arr = []
arr.push('<dl>')
arr.push('<dt>' + prod.name + '</dt>')
for(var i = 0; i < prod.styles.length; i++) {
arr.push('<dd>' + prod.styles[i] + '</dd>')
}
arr.push('</dl>')
return arr.join('');
}
console.log(getTpl(prod));
写出两种以上声明多行字符串的方法
例如:
var str = 'abcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancde'
var str =
'abcdeabcdeabcdeancde'
+'abcdeabcdeabcdeancde'
+'abcdeabcdeabcdeancdea'
+'bcdeabcdeabcdeancde';
```
```
var str = 'abcdeabcdeabcdea\
nncdeabcdeabcdeabcdeancd\
eabcdeabcdeabcdeancdeabc\
deabcdeabcdeancde'
```
```
(function (){/*
abcdeabcdeabcdeancdeabcde
abcdeabcdeancdeabcdeabcde
abcdeancdeabcdeabcdeabcde
ancde
*/}).toString().split('\n').slice(1.-1).join('\n')
```
####补全如下代码,让输出结果为字符串: hello\\饥人谷
```
var str ="hello\\\\饥人谷" //补全代码
console.log(str
```
####写一个函数,判断一个字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是
```
function isReverse(str) {
return str === str.split('').reverse().join('');
}
```
####写一个函数,统计字符串里出现出现频率最多的字符
```
var str = "aaaabbbffffllll";
function maxChar(str) {
var dict={}; //建立一个空对象
var maxM=0,
count=1;
for (var i=0;i<str.length;i++) {
if (dict[str[i]]) {
dict[str[i]]++; //值加1
} else { //如果空对象没有str[i]
dict[str[i]]=1; //赋值为1
}
}
for (var key in dict) { //遍历对象dict
if (dict[key]>count) {
count=dict[key];
maxM=key;
}
}
return '出现频率最多的字符是:'+maxM+','+'次数为:'+count;
}
console.log(maxChar(str));
```
####写一个camelize函数,把my-short-string形式的字符串转化成myShortString形式的字符串,如
```
camelize("background-color") == 'backgroundColor'
camelize("list-style-image") == 'listStyleImage'
------------------------------------------分割线------------------------------------
var str="my-short-string";
function camelize(str) {
var obj = str.split("-");
for (var i = 0; i < obj.length; i++) {
if (i > 0) {
obj[i] = obj[i].substr(0,1).toUpperCase()+ obj[i].substr(1,(obj[i].length-1)) ;
}
}
return obj.join('');
}
camelize(str);
```
####写一个 ucFirst函数,返回第一个字母为大写的字符 (***)
```
ucFirst("hunger") == "Hunger"
------------------------------------------分割线------------------------------------
var str="hunger";
function ucFirst(str) {
var arr = str.split(' ');
arr[0] = arr[0].toUpperCase();
return arr.join(' ');
}
```
####写一个函数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.substr(0,maxlength)+'...';
}
return str;
}
```
####什么是 JSON格式数据?JSON格式数据如何表示对象?window.JSON 是什么?11、如何把JSON 格式的字符串转换为 JS 对象?如何把 JS对象转换为 JSON 格式的字符串?
- JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速度)。
- JSON 语法是 JavaScript 对象表示语法的子集。
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
- JSON 数据的书写格式是:名称/值对,名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:
```
var json1 = {"name": "Byron", "age": "24"}
var json2 = [
{"name": "Byron", "age": "24"},
{"name": "Byron2", "age": "25"}
]
```
- window.json是浏览器内置对象。可用于判断浏览器是否兼容JSON的用法,例如IE8版本以上才内置支持JSON.parse方法。
JSON对象主要有两个『静态』函数:
parse:把字符串转化为JSON对象
stringify:把JSON对象转化为字符串
- 把字符串变成json对象:JSON.parse()
把json对象变成字符串:JSON.stringify()