美文网首页
字符串与JSON

字符串与JSON

作者: BAWScipes | 来源:发表于2017-09-26 11:41 被阅读0次
    1.对于HTTP协议而言,HTML、CSS、JS、JSON的本质是什么?

    对于HTTP协议而言,HTML、CSS、JS、JSON的本质是符合相应语法的字符串。

    2.使用数组拼接出如下字符串,其中styles数组里的个数不定
      var prod = {
        name: '女装',
        styles: ['短款', '冬季', '春装']
      };
      function getTplStr(data){
        var str = '<dl class="product">';
        str = str + "<dt>女装</dt>";
        for (var key in data.styles){
          str += "<dd>"+data.styles[key]+"</dd>";
        }
        str += "</dl>";
        return str;
      }
      var result = getTplStr(prod);  //result为下面的字符串
      console.log(result);
    
      <dl class="product"><dt>女装</dt><dd>短款</dd><dd>冬季</dd><dd>春装</dd></dl>
    
    3.写出两种以上声明多行字符串的方法。例如:
      var str = 'abcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancde'
    

    这段字符串很长,如何多行优雅的显示

     (1) var str = 'abcdeabcdeabcdeancdeabcde\
          abcdeabcdeancdeabcdeabcde\
          abcdeabcdeancdeabcdeabcde\
          abcdeancde'
     (2) var str = 'abcdeabcdeabcdeancdeabcde'
          + 'abcdeabcdeancdeabcdeabcde'
          + 'abcdeabcdeancdeabcdeabcde'
          + 'abcdeancde'
     (3) var str = (function(){/*
            abcdeabcdeabcdeancdeabcde
            abcdeabcdeancdeabcdeabcde
            abcdeabcdeancdeabcdeabcde
            abcdeancde
        */}).toString().split('\n').slice(1,-1).join('\n')
    
    4.补全如下代码,让输出结果为字符串: hello\饥人谷
      var str = "hello\\\\饥人谷" 
      console.log(str)
    
    5.以下代码输出什么?为什么
      var str = 'jirengu\nruoyu'
      console.log(str.length)
    

    输出结果:13,\n是一个字符,表示换行符

    6.写一个函数,判断一个字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是
      var str='abcdcba'
      str1 = str.split('').reverse().join('')
      if(str1==str){
        console.log(true)
      }else{
        console.log(false)
      }
    
    7.写一个函数,统计字符串里出现出现频率最多的字符
      var str='helloworldjirengu'
      var dict={};
      for(var i = 0; i < str.length; i++){
        if(dict[str[i]]){
          ++dict[str[i]];
        }else{
          dict[str[i]] = 1;
        }
      }
      var count = 0;
      var maxValue;
      for(var key in dict){
        if(dict[key] >count){
          maxValue = key;
          count = dict[key];
        }
      }
      console.log("出现频率最多的字符: "+maxValue,"出现频率: "+count)
    
    8.写一个camelize函数,把my-short-string形式的字符串转化成myShortString形式的字符串,如
      camelize("background-color") == 'backgroundColor'
      camelize("list-style-image") == 'listStyleImage'
    
    function camelize(str){
        var obj = str.split('-');
        for(var i=1; i<obj.length; i++){
          obj[i] = obj[i][0].toUpperCase()+obj[i].substr(1);
        }
        return obj.join('');
      }
      console.log(camelize("my-short-string"))
      console.log(camelize("background-color"))
      console.log(camelize("list-style-image"))
    
    9.写一个 ucFirst函数,返回第一个字母为大写的字符 (***)
      ucFirst("hunger") == "Hunger"
    
      function ucFirst(str){
        for(var i = 0; i < str.length; i++){
          str[i]=str[0].toUpperCase()+str.substr(1);
        }
        return str;
      }
      console.log(ucFirst("hunger"));
    
    10.写一个函数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){
        if(str.length > maxlength){
          str = str.substr(0,maxlength) + '...';
        }
        return str;
      }
      console.log( truncate("hello, this is hunger valley,", 10))
      console.log( truncate("hello world", 20))
    
    11.什么是 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语法结构:
    对象是一个无序的“‘名称/值对”集合。用逗号分隔;保存在花括号中;
    数组是值(value)的有序集合。用逗号分隔;保存在方括号中
    JSON 数据的书写格式是:名称/值对,名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:

    var json1 = {"name": "Byron", "age": "24"}
    var json2 = [
    {"name": "Byron", "age": "24"}, 
    {"name": "Byron2", "age": "25"}
    ]
    

    window.JSON是浏览器内置对象,用来检测对JSON的支持情况。

    12.如何把JSON 格式的字符串转换为 JS 对象?如何把 JS对象转换为 JSON 格式的字符串?

    JSON.parse方法用于将JSON字符串转化为JS对象

      JSON.parse('{}')   //{}
      JSON.parse('true')  //true
      JSON.parse('"foo"')  //"foo"
      JSON.parse('[1,2,"true"]')  //[1,2,"true"]
      var obj=JSON.parse("name":"张三")
      obj.name   //张三
    

    JSON.stringify方法用于将JS对象转化为JSON格式字符串

      JSON.stringify('abc')   //""abc""
      JSON.stringify(1)  //"1"
      JSON.stringify([]) //"[]"
      JSON.stringify({})  //"{}"
      JSON.stringify([1,2,"true"])  //'[1,2,"true"]'
      JSON.stringify(name: "张三")   //'{"name": "张三"}'
    

    相关文章

      网友评论

          本文标题:字符串与JSON

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