Open HuangHongRui opened 7 years ago
.使用数组拼接出如下字符串 `var prod = { name: '女装', styles: ['短款', '冬季', '春装'] }; function getTpl(data){ //todo... }; var result = getTpl(prod); //result为下面的字符串 女装 短款 冬季 春装 ` //Method-One `var prod = { name: '女装', styles: ['短款', '冬季', '春装'] }; function getTpl(data){ //思路:先把盒子造好,然后再从上面的对象里面拿数据装进去 var dress = []; dress.push(""); dress.push("" + data.name + ""); for(var key in data.styles){ dress.push("" + data.styles[key] + "") } dress.push(""); //此时得到一个数组..需要reflect如何把他转化为下面的形式。 var a = dress.join(""); return a; }; var result = getTpl(prod); //result为下面的字符串 ` //Method-Two `function getTpl(data){ var something = "" for(var key in data){ if(typeof data[key] === "string") { something += (""+data[key]+"") }else{ for(var i=0, x=data[key].length; i" + data[key][i] + ""); } } } something += ""; console.log(something) return something };` `//Method-Three function getTpl(data) { var dress = ""+"\n"; dress += ("" + data.name + ""); dress += ("" + data.styles[0] + ""); dress += ("" + data.styles[1] + ""); dress += ("" + data.styles[2] + ""); dress += ""; return dress;`
`var prod = { name: '女装', styles: ['短款', '冬季', '春装'] }; function getTpl(data){ //todo... }; var result = getTpl(prod); //result为下面的字符串
//Method-One `var prod = { name: '女装', styles: ['短款', '冬季', '春装'] }; function getTpl(data){ //思路:先把盒子造好,然后再从上面的对象里面拿数据装进去 var dress = []; dress.push("
//Method-Two `function getTpl(data){ var something = "
`//Method-Three function getTpl(data) { var dress = "
.写出两种以上声明多行字符串的方法 `var str = 'abcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancde'` //这个紧挨,注意\n `str = "abcdeabcdeabcdeancde\nabcdeabcdeabcdeancde\nabcdeabcdeabcdeancde\nabcdeabcdeabcdeancde"` `Method-One str = "abcdeabcdeabcdeancde" + "abcdeabcdeabcdeancde" + "abcdeabcdeabcdeancde" + "abcdeabcdeabcdeancde"` `//这种可以在前加空格 str = "abcdeabcdeabcdeancde\n\ abcdeabcdeabcdeancde\n\ abcdeabcdeabcdeancde\n\ abcdeabcdeabcdeancde"` `(function() {/* abcdeabcdeabcdeancde abcdeabcdeabcdeancde abcdeabcdeabcdeancde abcdeabcdeabcdeancde */}).toString().split('\n').slice(1,-1).join();`
`var str = 'abcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancde'`
//这个紧挨,注意\n `str = "abcdeabcdeabcdeancde\nabcdeabcdeabcdeancde\nabcdeabcdeabcdeancde\nabcdeabcdeabcdeancde"`
`Method-One str = "abcdeabcdeabcdeancde" + "abcdeabcdeabcdeancde" + "abcdeabcdeabcdeancde" + "abcdeabcdeabcdeancde"`
`//这种可以在前加空格 str = "abcdeabcdeabcdeancde\n\ abcdeabcdeabcdeancde\n\ abcdeabcdeabcdeancde\n\ abcdeabcdeabcdeancde"`
`(function() {/* abcdeabcdeabcdeancde abcdeabcdeabcdeancde abcdeabcdeabcdeancde abcdeabcdeabcdeancde */}).toString().split('\n').slice(1,-1).join();`
.补全如下代码,让输出结果为字符串: hello\\饥人谷 `var str = //补全代码 console.log(str)` `hello\\\\\\\\饥人谷`
`var str = //补全代码 console.log(str)`
`hello\\\\\\\\饥人谷`
以下代码输出什么?为什么? `var str = 'jirengu\nruoyu' console.log(str.length)` 13个,因转义字符虽然使用了\n换行但是空格并没有算在长度里面,`\n`只占据了一个占位符.
`var str = 'jirengu\nruoyu' console.log(str.length)`
13个,因转义字符虽然使用了\n换行但是空格并没有算在长度里面,`\n`只占据了一个占位符.
.写一个函数,判断一个字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是. `var a = "abcdcba"; var c = "abcdcbb" function judge(arg) { return arg == arg.split("").reverse().join(""); } judge(a);//s.. judge(c);//d..`
`var a = "abcdcba"; var c = "abcdcbb" function judge(arg) { return arg == arg.split("").reverse().join(""); } judge(a);//s.. judge(c);//d..`
.写一个函数,统计字符串里出现出现频率最多的字符 ` var dostring = "hahahaha, hello this is my world." function numeration(arg) { var i, listf=[]; for(i = 0; i < arg.length; i++) { if(listf[arg[i]]) { ++listf[arg[i]]; }else{ listf[arg[i]] = 1 } } var counts; //声明个计算 var maxValue = 0; //声明个最大值 for(var key in listf){ //遍历 if(listf[key] > maxValue) { //遍历到的属性的值大于counts counts = key; //就属性赋给counts maxValue = listf[key]; //再把值赋给他 } } console.log(counts,maxValue); } numeration(dostring); `
` var dostring = "hahahaha, hello this is my world." function numeration(arg) { var i, listf=[]; for(i = 0; i < arg.length; i++) { if(listf[arg[i]]) { ++listf[arg[i]]; }else{ listf[arg[i]] = 1 } } var counts; //声明个计算 var maxValue = 0; //声明个最大值 for(var key in listf){ //遍历 if(listf[key] > maxValue) { //遍历到的属性的值大于counts counts = key; //就属性赋给counts maxValue = listf[key]; //再把值赋给他 } } console.log(counts,maxValue); } numeration(dostring); `
.写一个函数,把my-short-string形式的字符串转化成myShortString形式的字符串,如 `function camelize(arg) { var momentvar = arg.split("-"); var result = ""; for(var i=0; i
`function camelize(arg) { var momentvar = arg.split("-"); var result = ""; for(var i=0; i
.写一个函数,返回第一个字母为大写的字符 (***) `ucFirst("hunger") == "Hunger"` `function capitalize(arg) { return arg.charAt(0).toUpperCase() + arg.slice(1) }`
`ucFirst("hunger") == "Hunger"`
`function capitalize(arg) { return arg.charAt(0).toUpperCase() + arg.slice(1) }`
.写一个函数truncate(str, maxlength), 如果str的长度大于maxlength,会把str截断到maxlength长,并加上...,如 `truncate("hello, this is hunger valley,", 10) == "hello, thi..."; truncate("hello world", 20) == "hello world"` ` function abbr(str, maxlength) { var a = str.slice(0, maxlength)+"..."; console.log(a); }`
`truncate("hello, this is hunger valley,", 10) == "hello, thi..."; truncate("hello world", 20) == "hello world"`
` function abbr(str, maxlength) { var a = str.slice(0, maxlength)+"..."; console.log(a); }`
.JSON问题 什么是 JSON? 什么是 JSON格式数据? JSON字面量 SON格式数据如何表示对象? window.JSON 是什么? 如何把JSON 格式的字符串转换为 JS 对象? 如何把 JS对象转换为 JSON 格式的字符串?
JSON格式(JavaScript Object Notation的缩写)是一种用于数据交换的文本格式,2001年由Douglas Crockford提出,目的是取代繁琐笨重的XML格式。 相比XML格式,JSON格式有两个显著的优点:书写简单,一目了然;符合JavaScript原生语法,可以由解释引擎直接处理,不用另外添加解析代码。所以,JSON迅速被接受,已经成为各大网站交换数据的标准格式,并被写入ECMAScript 5,成为标准的一部分。 简单说,每个JSON对象,就是一个值。要么是简单类型的值,要么是复合类型的值,但是只能是一个值,不能是两个或更多的值。这就是说,每个JSON文档只能包含一个值。 JSON对值的类型和格式有严格的规定。
JSON对象,其实就是JSON的值,基本要符合以下规则. 复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。 简单类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null(不能使用NaN, Infinity, -Infinity和undefined)。 字符串必须使用双引号表示,不能使用单引号。 对象的键名必须放在双引号里面。 数组或对象最后一个成员的后面,不能加逗号
JSON 语法是 JavaScript 对象表示语法的子集。
对象字面量其实就是一种简单的描素以及声明方式,如上面例举的: var count = { "one": 1, "two": 2, "three": 3 }, 因为本身json就是JavaScript语法集的一种,所以json字面量就是用json格式的JavaScript对象字面量
`var str = {name:"jirengu",age:2} JSON.stringify(str) //转为字符串 JSON.parse(JSON.stringify(str)). //转为对象`
JSON格式(JavaScript Object Notation的缩写)是一种用于数据交换的文本格式,2001年由Douglas Crockford提出,目的是取代繁琐笨重的XML格式。 相比XML格式,JSON格式有两个显著的优点:书写简单,一目了然;符合JavaScript原生语法,可以由解释引擎直接处理,不用另外添加解析代码。所以,JSON迅速被接受,已经成为各大网站交换数据的标准格式,并被写入ECMAScript 5,成为标准的一部分。 简单说,每个JSON对象,就是一个值。要么是简单类型的值,要么是复合类型的值,但是只能是一个值,不能是两个或更多的值。这就是说,每个JSON文档只能包含一个值。 JSON对值的类型和格式有严格的规定。
JSON对象,其实就是JSON的值,基本要符合以下规则. 复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。 简单类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null(不能使用NaN, Infinity, -Infinity和undefined)。 字符串必须使用双引号表示,不能使用单引号。 对象的键名必须放在双引号里面。 数组或对象最后一个成员的后面,不能加逗号
JSON 语法是 JavaScript 对象表示语法的子集。
对象字面量其实就是一种简单的描素以及声明方式,如上面例举的: var count = { "one": 1, "two": 2, "three": 3 }, 因为本身json就是JavaScript语法集的一种,所以json字面量就是用json格式的JavaScript对象字面量