1. 使用数组拼接出如下字符串
var prod = {
name: '女装',
styles: ['短款', '冬季', '春装']
};
function get(data){
var arr = [];
arr.push("<dl class=\"product\">"+"\n");
arr.push("\t"+"<dt>"+data.name+"</dt>"+"\n");
for(var key in data.styles) {
arr.push("\t"+"<dd>"+data.styles[key]+"</dd>"+"\n");
}
arr.push("</dl>");
return arr.join("");
}
var demo = get(prod);
console.log(demo);
//
<dl clall="product">
<dt>女装</dt>
<dd>短款</dd>
<dd>冬季</dd>
<dd>春装</dd>
</dl>
2. 写出两种以上声明多行字符串的方法.
1. 第一种当然是使用,转义字符.
var str = "你好\nWorld!"
console.log(str);
2. 第二种也是使用,转义字符,只不过,这次我们把字符串,多空出一段距离.
var str = "你好\n\
World\n\
!";
console.log(str);
3. 第三种,我们要使用,数组的join内置方法进行转换.
var str = ["line1","line2","line3"];
var obj = str.join("\n");
console.log(obj);
4. "+"连接
var str = 'luoqian'
+'is'
+'very'
+'good'
+'!'
3. 补全如下代码,让输出结果为字符串: hello\高治东
var str = 'hello\\\\高治东';
console.log(str)
4.以下代码输出什么?为什么
var str = 'jirengu\nruoyu';
console.log(str.length);
//输出13。使用了\n换行,占一个字符,空格不计算在长度内。
var str = "\abc";
console.info(str.length); // 3
结果是3,说明'\a'是一个字符。
如果你想在字符串里面表示'\',那么你就得转义它,给它也加一个反斜杠'\\'。
var str = "\\abc";
console.info(str.length); // 4
5. 写一个函数,判断一个字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是
function isPalindrome(str) {
newstr = str.split('').reverse().join('');
if (str === newstr) {
console.log('这是回文字符')
} else {
console.log('这不是回文字符')
}
}
var a = 'abccba';
isPalindrome(a);
6. 写一个函数,统计字符串里出现出现频率最多的字符
var str = "hello world nihao nihao nihao haha ";
var dict = {};
for(var i = 0;i < str.length; i++) {
if(dict[str[i]]) {
++dict[str[i]];
}else{
dict[str[i]] = 1;
}
}
var count = 0;
var maxValue;
for(var key in dict) {
if(dict[key] > count) {
count = key;
maxValue = dict[key];
}
}
console.log("出现最多的字符是" + count,"出现了" + maxValue + "次");
7、写一个camelize函数,把my-short-string形式的字符串转化成myShortString形式的字符串
如: camelize("background-color") == 'backgroundColor'
camelize("list-style-image") == 'listStyleImage'
function camelize(str) {
var arr = str.split("-");
var tempStr = arr[0];
for (var i = 1; i < arr.length; i++) {
tempStr += arr[i].charAt(0).toUpperCase() + arr[i].slice(1, arr[i].length);
}
return tempStr;
}
console.log(camelize("background-color")); //== 'backgroundColor'
console.log(camelize("list-style-image")); // == 'listStyleImage'
8. 写一个 ucFirst函数,返回第一个字母为大写的字符
//ucFirst("hunger") == "Hunger"
var str1 = "hunger"
function ucFirst(str) {
var a = str.charAt(0).toUpperCase()
//console.log(a)
var b = str.substring(1)
//console.log(a + b)
return a + b
}
console.log(ucFirst(str1))
9. 写一个函数truncate(str, maxlength), 如果str的长度大于maxlength,会把str截断到maxlength长,并加上...
//substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
var str1 = "hello, this is hunger valley";
function truncate(str,maxlenght) {
if(str.length > maxlenght){
var sub1 = str.substr(0,maxlenght) + "...";
console.log(1,sub1);
}
return sub1
}
console.log(truncate(str1,10));
10. 什么是 json?什么是 json 对象?什么是 json 对象字面量?什么是 JSON内置对象?
JSON是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。
JSON对象是一个值,要么是简单类型的值,要么是复合类型的值,但是只能是一个值。JSON对值的要求:
复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。
简单类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null(不能使用NaN, Infinity, -Infinity和undefined)。
字符串必须使用双引号表示,不能使用单引号。
对象的键名必须放在双引号里面。
数组或对象最后一个成员的后面,不能加逗号。
JSON对象字面量 字面量是一种表示值的记法,JSON对象字面量表示以JSON形式表现一种值。
JSON内置对象 parse、stringify方法
11. 如何把JSON 格式的字符串转换为对象?如何把对象转换为 JSON 格式的字符串?
JSON.parse()方法 把JSON 格式的字符串转换为对象
JSON.stringify()方法 对象转换为 JSON 格式的字符串
网友评论