0.对于 HTTP 协议而言,HTML、CSS、JS、JSON 的本质都是什么?
- 对于HTTP协议而言,html、css、js、json是符合相应语法的字符串。
- 用户访问页面时,浏览器根据用户的请求的路径,向服务器发起请求,服务器根据路径进行判断,返回给浏览器对应的字符串,同时也返回给浏览器Content-Type值。
- Content-Type=text/html,浏览器就把字符串当HTML进行解析;当HTML中有<link rel="stylesheet" href="" />,浏览器再向服务器发起请求,服务器返回字符串和Content-Type=text/css,浏览器就把返回的字符串当CSS进行解析;当HTML中有<script src="" />,浏览器向服务器发起请求,服务器返回字符串和Content-Type=text/javascript,浏览器就把字符串当JS进行解析,返回给用户。
1.使用数组拼接出如下字符串 ,其中styles数组里的个数不定
var prod = {
name: '女装',
styles: ['短款', '冬季', '春装']
};
function get(data){
var arr=[];
for(var key in prod){
if(typeof prod[key]!=='object'){
var str="<dt>"+prod[key]+"</dt>"
arr.push(str)
}else{
for(var i=0;i<prod.styles.length;i++){
var nstr='<dd>'+prod.styles[i]+'</dd>'
arr.push(nstr)
}
}
}
var result='<dl class="product">'+arr.join("")+'</dl>'
return result
}
var final = get(prod)
console.log(final)
2.写出两种以上声明多行字符串的方法
//方法一
var str = 'abcdeabcdeabcdeancdea\
bcdeabcdeabcdeancdeabcdeabcdeabc\
deancdeabcdeabcdeabcdeancde'
//方法二
var str = 'abcdeabcdeabcdeancdea'+
'bcdeabcdeabcdeancdeabcdeabcdeabc'+
'deancdeabcdeabcdeabcdeancde'
3.补全如下代码,让输出结果为字符串: hello\饥人谷
var str =("hello\\\\饥人谷")
console.log(str)
4.以下代码输出什么?为什么
字符长度为13,
\n
为换行符,占据一个字符的长度。
5.写一个函数,判断一个字符串是回文字符串
var a = "abcdcba"
function isReverse(str){
if (str === str.split("").reverse().join("")) {
return true
}else{
return false
}
}
console.log(isReverse(a))
6.写一个函数,统计字符串里出现出现频率最多的字符
var str = "hello world, ji ren gu haha haha lol"
var dirct = []
for (var i = 0;i<str.length; i++) {
if (dirct[str[i]]) {
++dirct[str[i]]
}else{
dirct[str[i]]=1
}
}
var count = 0
var maxvalue
for (key in dirct){
if (dirct[key]>count) {
maxvalue=key
count=dirct[key]
}
}
console.log(count,maxvalue)
7.写一个camelize函数,把my-short-string形式的字符串转化成myShortString形式的字符串
function camelize(str){
var nstr=[]
for (var i = 0;i<str.length;i++) {
nstr[i]=str[i] //拷贝字符串
}
for (var i = 0;i<nstr.length;i++) {
if (nstr[i]==="-") {
nstr[i+1]=nstr[i+1].toUpperCase()
} //"-"后一个字母大写
}
nstr=nstr.join("").split("-").join("");
//剔除"-"
return nstr;
}
8.写一个 ucFirst函数,返回第一个字母为大写的字符
function ucFirst(str){
var nstr=str.split("")
nstr[0]=nstr[0].toUpperCase()
return nstr.join("")
}
//ucFirst("hunger") =="Hunger"
9.写一个函数truncate(str, maxlength), 如果str的长度大于maxlength,会把str截断到maxlength长,并加上...
10.什么是 JSON格式数据?JSON格式数据如何表示对象?window.JSON 是什么?
- JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速度)。
- JSON格式数据表示对象
{"name": "chenshangshuo","age": 25,"school": {"name": "Nanjing University of Technology","location": "Nanjing"}}
- window.JSON 是window下的一个json对象
11、如何把JSON 格式的字符串转换为 JS 对象?如何把 JS对象转换为 JSON 格式的字符串?
- JSON.parse()JSON格式转换为JS对象
var a ='{"name": "chenshangshuo","age": 25,"school": {"name": "Nanjing University of Technology","location": "Nanjing"}}'
JSON.parse(a)
- JSON.stringify()JS对象转换为JSON格式
var b={name:"chenshangshuo",age: 25}
JSON.stringify(b)