美文网首页
Web20.字符串与JSON

Web20.字符串与JSON

作者: FiredEarthMusic | 来源:发表于2017-11-03 13:03 被阅读12次

    字符串

    var str = 'hello'
    var str1 = 'world'
    
    var str3 = "yyz"
    var str4 = ' key="value" '
    var str5 = "It's a long journey"
    
    "Did she say \"Hello\"?"
    
    var str6 = 'hello \n world'
    
    //利用多行注释,生成多行字符串的变通方法
    (function () {
    line 1
    line 2
    line 3    
    }).toString().split('\n').slice(1,-1).join('\n')
    // "line 1 line 2 line 3"
    
    var fn = function () { /*
        <div>
            <a href="http://jirengu.com">jirengu</a>
        </div>
    */}
    
    console.log(fn.toString())
    

    长度计算 连接

    var str = 'hello';
    console.log( str.length );
    console.log( str[0] );
    console.log( str[str.length - 1] );      //最后一位
    console.log( str.charAt(0) );            //h
    console.log( str.charCodeAt(0) );   //asics码
    
    var str2 = 'world';
    var str3 = str1 + str2
    console.log( str3 );
    

    截取

    var str = "hello world";
    var sub1 = str.subStr(1, 3);  //第一个开始位置  第二个是长度
    var sub2 = str.subString(1, 3); //第一个是开始位置 第二个是结束位置  长度为结束位置减去开始位置
    var sub3 = str.slice(1, 3);      //同上 允许负参
    

    查找

    var str = "hello my world";
    var s1 = str.search('my');   //6 找不到为-1
    var s2 = str.replace('my', 'your');  //
    var s3 = str.match('my')    //返回匹配的数组
    

    大小写

    字符串的所有操作都不会改变原有的字符串
    var str = "Hello";
    str.toUpperCase();
    str.toLowerCase();
    
    var str1 = str.toUpperCase()
    //undefined
    str1.toLowerCase()
    //"HELLO"
    
    var str12 = "Hello"
    str12.split('')
    //["H", "e", "l", "l", "o"]
    
    var str = 'abcdefg'
    str.split('')
    
    str.split('').reverse()
    
    str.split('').reverse().join('')
    
    str == str.split('').reverse().join('')
    
    

    JSON 轻量级数据交换格式 基于JS(ECMA-262)的一个子集

    数据交换格式 XML JSON YAML CSV 等

    JSON语法是JavaScript对象表示语法的子集
    1.数据在名称/值中
    2.数据由逗号分隔
    3.花括号保存对象
    4.方括号保存数组

    var json1 = {"name": "Byron", "age": "24"}
    var json2 = [
        {"name": "Byron", "age": "24"},
        {"name": "Byron2", "age": "25"}
    ]
    
    字面量的表示方式
    var obj = {
        "name": "jirengu",
        "age": 30
    }
    var arr = [1,2,3]
    
    IE以上浏览器都支持了一个对象JSON   JSON对象主要有两个 静态函数
    1.parse:把字符串转化为JSON对象
    2.stringify:把JSON对象转化为字符串(不叫toString) 因为不是实例方法
    
    var str = '{"name": "fem", "age": 30}'
    var obj = JSON.parse(str)
    console.log(obj.name)
    console.log(JSON.stringify(obj))
    
    eval不建议用了
    
    json2 兼容低版本IE
    
    var obj = {
        "name": "jirengu",
        "age": 30,
        "2345": 'hello'
    }
    obj.name = 'ruoyu'
    obj.age = 20
    obj.['2345'] = 'world'
    
    属性的遍历
    
    var people = {
            "firstName": "John",
            "lastName": "Smith",
            "sex": "third",
            "age": 25,
            "address":
            {
                    "stressAddress":  "21 2nd Street",
                    "city": "New York",
                    "state": "NY"
                    "postalCode": "10021"
             },
             "phoneNumber":
             {
                 {
                      "type": "home",
                      "number": "212 555-1234"
                 },
                 {
                      "type": "fax",
                      "number": "646 555-4567"
                 }
             }
    }
    
    for(var key in people){
        console.log(key, ":",  people[key])
    }
    
    var str = 'hello world haha hoho llooo lol'
    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(key in dict){
        if(dict[key] > count){
            maxValue = key
            count = dict[key]
        }
    }
    console.log(count, maxValue)
    

    题目1:使用数组拼接出如下字符串 ,其中styles数组里的个数不定

    1.png
    
    

    题目2:写出两种以上声明多行字符串的方法

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

    2.png
    
    

    题目3:补全如下代码,让输出结果为字符串: hello\饥人谷

    3.png
    var str = 'hello\\\\饥人谷'
        
    console.log(str)
    

    题目4:以下代码输出什么?为什么

    4.png
    //结果为13
    

    题目5:写一个函数,判断一个字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是

    str1 = 'abcdcba'
    function strCheck(str){
      return str === str.split('').reverse().join('')
    }
    strCheck(str1)
    //true
    

    题目6:写一个函数,统计字符串里出现出现频率最多的字符

    题目7:写一个camelize函数,把my-short-string形式的字符串转化成myShortString形式的字符串,如

    题目8:写一个 ucFirst函数,返回第一个字母为大写的字符 (***)

    题目9:写一个函数truncate(str, maxlength), 如果str的长度大于maxlength,会把str截断到maxlength长,并加上...,如

    题目10:什么是 JSON格式数据?JSON格式数据如何表示对象?window.JSON 是什么?

    题目11:如何把JSON 格式的字符串转换为 JS 对象?如何把 JS对象转换为 JSON 格式的字符串?

    相关文章

      网友评论

          本文标题:Web20.字符串与JSON

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