0、对于 HTTP 协议而言,HTML、CSS、JS、JSON 的本质都是什么?
对于HTTP协议而言,,HTML、CSS、JS、JSON 的本质都是都是一堆字符串。
Content-Type=text/html,浏览器就把字符串当HTML进行解析;
Content-Type=text/css,浏览器就把字符串当css进行解析;
Content-Type=application/x-javascript,浏览器就把字符串当javascript进行解析;
参考链接
1、使用数组拼接出如下字符串 ,其中styles数组里的个数不定
var prod = {
name: '女装',
styles: ['短款', '冬季', '春装']
};
function getTpl(data){
var str='<dl class='+'"'+"products"+'"'+">"+"<dt>"+data.name+"</dt>";
var styles=data.styles;
for(var i=0;i<styles.length;i++)
{
str+="<dt>"+styles[i]+"</dt>";
}
str+="</dl>"
return str;
};
var result = getTpl(prod); //result为下面的字符串
2、写出两种以上声明多行字符串的方法
例如:
var str = 'abcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancde'
方法如下:
//方法1
var str = 'abcdeabcde\
abcdeancdeabcde\
abcdeabcdeancde\
abcdeabcdeabcde\
ancdeabcdeabcde\
abcdeancde'
//方法2
var str = ' abcdeabcde'
+' abcdeancdeabcde'
+' abcdeabcdeancde'
+' abcdeabcdeabcde'
+' ancdeabcdeabcde'
+' abcdeancde'
3、补全如下代码,让输出结果为字符串: hello\饥人谷
var str = //补全代码
console.log(str)
var str = "hello\\\\饥人谷"
console.log(str)
4、以下代码输出什么?为什么
var str = 'jirengu\nruoyu'
console.log(str.length)
结果是13,因为\n是换行符号,\n只能算一个字符
5、写一个函数,判断一个字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是
function palindrome(str)
{
var newStr=str.split("").reverse().join("");
if(newStr===str)
{
return str+"是回文字符串";
}
else
{
return str+"不是回文序列";
}
}
6、写一个函数,统计字符串里出现出现频率最多的字符
//注意当每个元素出现的次数相等的时候,就是max为1的时候
function charRep(str)
{
var max=0;
var repMaxchar;
var f={};
var sum=0
for(var i=0;i<str.length;i++)
{
var a=str[i];
if(f[a]===undefined)
{
f[a]=1;
}
else
{
f[a]++;
}
if(f[a]>=max)
{
max=f[a];
repMaxchar=a;
}
sum+=f[a];
}
if(max==1)
{
return "每个元素出现的次数相同"
}
else
{
return repMaxchar+"出现"+max+" 次";
}
}
7、写一个camelize函数,把my-short-string形式的字符串转化成myShortString形式的字符串,如
function show(str)
{
var newStr=str.split("-").join("");
return newStr;
}
8、写一个 ucFirst函数,返回第一个字母为大写的字符 (***)
ucFirst("hunger") == "Hunger"
代码如下
function ucFirs(str)
{ var newStr=str[0].toUpperCase();
for(var i=1;i<str.length;i++)
{
newStr+=str[i];
}
return newStr;
}
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)
{ var newStr;
if(maxlength>str.length)
{
maxlength=str.length;
newStr=str.substr(0,maxlength);
}
else
{
newStr=str.substr(0,maxlength)+"...";
}
return newStr;
}
10、什么是 JSON格式数据?JSON格式数据如何表示对象?window.JSON 是什么?
JSON格式是一种用于数据交换的文本格式。
JSON格式表示对象是对象的属性都加上双引号
window.JSON:
window.JSON是ECMAScript 5定义的一个原生的浏览器内置对象,用来检测对JSON的支持情况;
JSON对象内置了JSON.parse()和JSON.stringify()方法;
当HTML页面指定了DOCTYPE且浏览器模式为IE8时,才支持内置的window.JSON对象,IE8版本以上才内置支持JSON.parse()函数方法
11、如何把JSON 格式的字符串转换为 JS 对象?如何把 JS对象转换为 JSON 格式的字符串?
JSON.parse方法用于将JSON字符串转化成对象
JSON.stringify():JSON.stringify方法用于将一个值转为字符串。该字符串符合 JSON 格式,并且可以被JSON.parse方法还原。