mission-20

1、使用数组拼接出如下字符串


var prod = {
name: '女装',
styles: ['短款', '冬季', '春装']
};
function getTpl(data){
//todo...
};
var result = getTplStr(prod); //result为下面的字符串

女装

短款

冬季

春装



var prod = {
name: '女装',
styles: ['短款', '冬季', '春装']
};
function getTpl(data){
var arr = [];
for(var attr in data){
if(typeof data[attr] === "string"){
arr.push("
" + data[attr] + "
")
}else{
for(var i = 0; i < data[attr].length; i++) {
arr.push("
" + data[attr][i] + "
")
}
}
}
arr = arr.join("");
return "
" + arr + "
";
}
var result = getTpl(prod);
console.log(result);

2、写出两种以上声明多行字符串的方法

第一种:转义——行尾添加反斜杠 ‘ \ ’


var longString = "Long
long
string";
console.log(longString) // Long long string

第二种:拼接——使用连接运算符 ‘ + ’

var longString = 'Long ' // 引号内有空格

  • 'long '
  • 'string';
    console.log(longString) // Long long string

第三种:函数——将条件注释、toString()组合成函数

var longString = (function () { /*
Long
long
string
*/}).toString().split('\n').slice(1,-1).join('-')
console.log(longString) // Long-long-string

说明

// .toString() 将对象转换成字符串(以字符串形式表示):此处为函数代码
// .split('\n') 参数作为分隔标识,将字符串切割成数组:此处为5个元素
// .slice(1, -1) 参数作为起始位置,挑选数组元素:此处为中间3个元素
// .join('-') 参数作为连接符,将数组元素拼接成字符串

3、补全如下代码,让输出结果为字符串: hello\饥人谷


var str = //补全代码
console.log(str)


var str = 'hello\\饥人谷';
console.log(str);

4、以下代码输出什么?为什么


var str = 'jirengu\nruoyu'
console.log(str.length)


mission-20_第1张图片

原因:
\n 表示一个字符,其功能为换行,不会被打印出来

5、写一个函数,判断一个字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是


var name='abcdcbb';
function cch(xxx){
var str=xxx;
var Ostr=str.split('').reverse().join('');
var onoff='';
for(var i=0; i< str.length;i++){
if(str[i]!=Ostr[i]){
onoff='false';
break
}else {
onoff='true';
}
}
return onoff
}
console.log(cch(name));

6、写一个函数,统计字符串里出现出现频率最多的字符


var str='dashdjkhjdigi jashduiwpa mmmmmm nnnnnn';
var att=str.split('');
var Obj={};
var mx=0;
var mxStr='';
var Max=[];
for(var i=0;i if(Obj[att[i]]){
++Obj[att[i]]
}else {
Obj[att[i]]=1
}
}
for(var x in Obj){
if(Obj[x]>mx){
mx=Obj[x];
}
}
for(var j in Obj){
if(Obj[j]==mx){
Max.push(j)
}
}
console.log('最长的文字有:'+Max+'长度:'+mx)

7、写一个camelize函数,把my-short-string形式的字符串转化成myShortString形式的字符串,如


camelize("background-color") == 'backgroundColor'
camelize("list-style-image") == 'listStyleImage'


function camelize(xxx){
var str=xxx;
var att=str.split('-');
for(var i=1;i< att.length;i++){
att[i]=att[i].charAt(0).toUpperCase()+att[i].substring(1)

}
return att.join('')

}
console.log(camelize('background-color'))

8、写一个 ucFirst函数,返回第一个字母为大写的字符 (***)


function ucFirst(string){
return string[0].toUpperCase()+string.slice(1)
}
console.log(ucFirst("hunger"))
ucFirst("hunger") == "Hunger"

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){
str=str.slice(0,maxlength)+"..."
}
else{return str}
}

Q10、什么是 json?什么是 json 语言?JSON 语言如何表示对象?window.JSON 是什么?

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:
对象表示为键值对
数据由逗号分隔
花括号保存对象
方括号保存数组
JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值:


{"firstName": "John"}

这很容易理解,等价于这条 JavaScript 语句:
{firstName = "John"}

JSON 与 JS 对象的关系

很多人搞不清楚 JSON 和 Js 对象的关系,甚至连谁是谁都不清楚。其实,可以这么理解:
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。


var
obj = {a:
'Hello'
, b:
'World'
};
//这是一个对象,注意键名也是可以使用引号包裹的


var
json =
'{"a": "Hello", "b": "World"}'
;
//这是一个 JSON 字符串,本质是一个字符串

JSON 和 JS 对象互转

要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法:


var
json = JSON.stringify({
a: 'Hello',
b: 'World'
});
//结果是 '{"a": "Hello", "b": "World"}'

要实现从 JSON 转换为对象,使用 JSON.parse() 方法:

var
obj = JSON.parse(
'{"a": "Hello", "b": "World"}'
);
//结果是 {a: 'Hello', b: 'World'}

window.JSON 是什么?

用于判断浏览器是否兼容JSON的用法,例如IE8版本以上才内置支持JSON.parse方法,对此常见这样的写法:


if(window.JOSN){
jsonObj2 = JSON.parse(json);
}else{
}

Q11、如何把JSON 格式的字符串转换为 JS 对象?如何把 JS对象转换为 JSON 格式的字符串?

要实现从 JSON 转换为对象,使用 JSON.parse() 方法:
要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法:

你可能感兴趣的:(mission-20)