美文网首页
字符串与json

字符串与json

作者: hellowade | 来源:发表于2017-07-10 16:53 被阅读0次

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.以下代码输出什么?为什么

image.png
字符长度为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长,并加上...

test

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)

相关文章

网友评论

      本文标题:字符串与json

      本文链接:https://www.haomeiwen.com/subject/znfyhxtx.html