Web20. 字符串与JSON

来源:互联网 发布:新网域名怎么解析 编辑:程序博客网 时间:2024/05/22 06:41








注意:'\n'    '\a'   '\t'  代表一个字符不是两个













发请求的方式:地址栏输入网址  输入后页面就不变了

                            link css               只能请求css

                            img src=xxx        只能请求img

                            script src=xxxx    只能请求script

                            form表单也可以发请求(当用户提交)点击提交页面会刷新



JavaScript对象和JSON的关系


JavaScript对象的字面量写法只是长的像JSON格式数据,二者属于不同的范畴,

JavaScript对象中很多类型(函数、正则、Date)JSON格式的规范并不支持,

JavaScript对象的字面量写法更宽松。



深拷贝的另一种写法


var obj = {    name: 'hunger',    age: 3,    friends: ['aa', 'bb', 'cc']}var obj2 = JSON.parse(JSON.stringify(obj))obj.age = 4console.log(obj2.age)









字符串的所有操作都不会改变原有的字符串



0. 对于HTTP协议而言,HTML、CSS、JS、JSON的本质都是什么?

符合html语法的字符串

符合css语法的字符串

符合js语法的字符串

符合JSON语法的字符串


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



function getTpl(product){    var str = '<dl class="product">'    str += '    <dt>' + product.name + '</dt>'    for(var i = 0; i < product.styles.length; i++) {     str += ' <dd>' + product.styles[i] + '</dd>'    }    str += '      </dl>'    return str;}




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

例如:



第一种:字符串拼接

var str1 = 'abcde' + 'abcde' + 'abcde';console.log(str1);


第二种:

var str1='abcd\eabcd\eabcd\eancd\eabcd\eabc'console.log(str2)





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



4.以下代码输出什么?为什么



结果为13

\n为换行符 也算一个字符,所以所有字符串长度为13





5.写一个函数,判断一个字符串是回文字符串,如abcdcba是回文字符串,

abcdcbb不是


var str = 'abcdedcba';


function isPal{    var str1 = str.split("").reverse().join("")    if(str1 === str){        console.log('是回文字符串')    }else{        console.log('不是回文字符串')      }}



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


var str = 'hellfooooooo';


function stat{    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)}





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


function camelize(str){    var arr = str.split('-');    for(var i = 1; i< arr.length; i++){        arr[i] = arr[i][0].toUpperCase() + arr[i].substr(1);    }    return arr.join('');}console.log(camelize("background-color"))




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



function ucFirst(str){    var firstChar = str.substr(0,1);    var FirstChar = firstChar.toUpperCase();    var str1 = str.replace(firstChar, FirstChar);    return str1;}

console.log(ucFirst('hunger'))      //"Hunger"




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



function truncate(str, maxlength){    if(str.length > maxlength){        return str.substr(0, maxlength) + '...';    }else{        return str;    }}


str1 = 'iuoisudfsdr';
console.log(truncate(str1, 6));




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


什么是JSON格式数据:

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript

的一个子集,JSON采用完全独立与语言的文本格式,目的是取代繁琐笨重的XML



JSON格式数据如何表示对象:

1.复合类型的值只能是数组或对象,不能是函数、正则表达式、日期对象

2.简单类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null(不能使用NaN,Infinity,-Infinity和undefined)

3.字符串必须使用双引号表示, 不能使用单引号

4.对象的键名必须放在双引号里面

5.数组或对象最后一个成员的后面不能加逗号。



window.JSON是什么:

主要有两个函数    JSON.stringify()

                                JSON.parse()




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


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

JSON.parse('{}')                      //  {}

JSON.parse('true')                 //   true

JSON.parse('"foo"')               //    "foo"


var o = JSON.parse('{"name": "张三"}');

o.name    //张三


JSON.stringify()方法用于将一个值转化为字符串

JSON.stringify('abc')        // 'abc'

JSON.stringify(1)             //'1'

JSON.stringify(false)      //'false'


原创粉丝点击