1、使用数组拼接出如下字符串 ,其中styles数组里的个数不定
var prod = {
name: '女装',
styles: ['短款', '冬季', '春装']
};
function getTpl(data){
//todo...
var result = '';
if(JSON.stringify(data) != '{}') {
result += '<dl class="product">';
result += '<dt> + data['name']';
for(var i=0; i<data['styles'].length; i++) {
result += '<dd>' + data['style'][i] + '</dd>'
}
result += '</dl>';
}
return result;
};
var result = getTplStr(prod); //result为下面的字符串
<dl class="product"><dt>女装</dt><dd>短款</dd<dd>冬季</dd><dd>春装</dd></dl>
2、写出两种以上声明多行字符串的方法
例如:
var str1 = 'abcdfdffdffdf\
dfdfffffdfdfdf\
fdfdfdf';
var str2 = 'abcdfdfdf' +
'dfdfdf' +
'dfdfdfddff';
var str3 = (function() {/*
adfdfdfdffd
dfdfdfdfdfdf
dfdfdfdf
*/}).toString().split('\n').slice(1, -1).join('');
这段字符串很长,如何多行优雅的显示
var str1 = ''
3、补全如下代码,让输出结果为字符串: hello\饥人谷
var str = "hello\\\\饥人谷";//补全代码
console.log(str)
4、以下代码输出什么?为什么
var str = 'jirengu\nruoyu'
console.log(str.length)
// 输出13 因为\n被解释为换行符,为一个长度
5、写一个函数,判断一个字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是
function isReverse(str) {
if(str===str.split('').reverse().join('')) {
console.log('这是一个回文');
}else {
console.log('这不是一个回文');
}
}
6、写一个函数,统计字符串里出现出现频率最多的字符
function getMaxFrequencyChar(str){
var maxChar = '';
var maxStr = '';
var maxFrequency = 0;
var strObj = {};
for(var i=0; i<str.length; i++){//构建strObj
if(str[i] in strObj){
strObj[str[i]] ++;
}else {
strObj[str[i]] = 1;
}
}
for(var key in strObj){
if(strObj[key] > maxFrequency){
maxFrequency = strObj[key];
maxChar = key;
maxStr = '';
}else if(strObj[key] == maxFrequency){
maxStr += key;
}
}
maxStr += maxChar;
return maxStr;
}
var a = getMaxFrequencyChar('helloword');
}
7、写一个camelize函数,把my-short-string形式的字符串转化成myShortString形式的字符串,如
function camelize(str){
var wordArray = str.split('-');
var capitalStr = '';
for(var i=0; i<wordArray.length; i++){
var word = wordArray[i];
var capitalWord = '';
if(i > 0){
for(var j=0; j<word.length; j++){
if(j === 0){
capitalWord += word[j].toUpperCase();
}else{
capitalWord += word[j];
}
}
}
else {
capitalWord = word;
}
capitalStr += capitalWord;
}
return capitalStr;
}
camelize("background-color") == 'backgroundColor'
camelize("list-style-image") == 'listStyleImage'
8、写一个 ucFirst函数,返回第一个字母为大写的字符 (***)
function ucFirst(str) {
var firstStr = '';
for(var i=0; i<str.length; i++){
if(i === 0){
firstStr += str[i].toUpperCase();
}else {
firstStr += str[i];
}
}
return firstStr;
}
ucFirst("hunger") == "Hunger"
9、写一个函数truncate(str, maxlength), 如果str的长度大于maxlength,会把str截断到maxlength长,并加上...,如
function truncate(str, maxlength){
var strLength = str.length;
var dotStr = '...';
var strNew = '';
if(strLength > maxlength) {
strNew += str.slice(0, maxlength) + dotStr;
}else {
strNew = str;
}
return strNew;
}
truncate("hello, this is hunger valley,", 10) == "hello, thi...";
truncate("hello world", 20) == "hello world"
10、什么是 JSON格式数据?JSON格式数据如何表示对象?window.JSON 是什么?
- JSON格式(JavaScript Object Notation 的缩写)是一种用于数据交换的文本格式,2001年由 Douglas Crockford提出,目的是取代繁琐笨重的XML格式。
- JSON键值对是用来保存JS对象的一种方式,和JS对象的写法很相似,键/值对组合中的键名写在前面并用双引号""包裹,使用冒号:分隔,然后紧接着值。
- window.JSON是一种JSON对象,JSON对象主要有两个静态函数:
JSON.parse方法用于将JSON字符串转化成对象。
JSON.stringify方法用于将一个值转为字符串。该字符串符合 JSON 格式,并且可以被JSON.parse方法还原。
11、如何把JSON 格式的字符串转换为 JS 对象?如何把 JS对象转换为 JSON 格式的字符串?
-
JSON.parse('{"hello": "world"}');//json格式的字符串转换为js对象, 必须是符合json格式
-
JSON.stringify({hello: "world"}); //把js对象转换为json格式的字符串
网友评论