美文网首页
一个前端小白的读书心得(一)

一个前端小白的读书心得(一)

作者: 简爱_cdde | 来源:发表于2017-08-02 16:54 被阅读0次

    由于公司最近项目少,就闲着没事看看书,可是又想写点读书心得记录下来,思考半天想要用什么方式记录下来,想要用word记录又怕时间长不看书又把他遗忘掉了!

    今天看的是JavaScript第六版淘宝前端翻译的,在网上找了个PDF下载下来看的(*^__^*) 嘻嘻……

    JavaScript的数据类型分为俩类:原始类型和对象类型;

    JavaScript中原始类型包括:数字、字符串、布尔值;

    JavaScript中有俩个特殊原始值:null,undefined;

    JavaScript中除了数字、字符串、布尔值、null和undefined之外的都是对象(数组、对象、函数);

    对象是属性的集合,每个属性都是由名/值对(值可以是原始值,比如数字、字符串、也可以是对象)构成;

    JavaScript的类型可以分为原始类型和对象类型,也可分为可以拥有方法的类型和不能拥有方法的类型,同样可以分为可变类型和不可变类型;

    可变类型的值是可以修改的。对象和数组是属于可变类型;JavaScript程序可以更改对象属性值和数组元素的值;

    数字、布尔值、null和undefined属于不可变得类型;

    字符串可以看成由字符组成的数组,你可能会认为他是可变的,然而在JavaScript中,字符串是不可变的;可以访问字符串的任意位置的文本,

    但JavaScript并未提供修改已知字符串的文本内容方法。

    我们在面试中经常能看到这样的问题:


    例1:

    var s="hello";

    var t="hello";

    s==t//true

    问:为什么相等?

    例2:

    var arr=[1,2,3,4];

    var obj=[1,2,3,4];

    arr==obj//false;

    问:为什么不相等?

    例3:

    var a=[1,2,3];

    var b=a;

    b[0]="hello";

    console.log(a)//["hello",2,3];

    问:为什么a数组被修改了;

    不可变的原始值和可变的对象引用

    这就是我今天读书的体会了,虽然对于大牛来说这都是基础知识,但是对于小白的我,感觉又在js的路上前进了一小步;

    (一)先判断数据的类型:

    1、s和t是原始值中的字符串;原始值是不可变的;

    2、arr和obj都是对象;可变的是对象;

    (二)数据类型的比较

    1、原始值:

    原始值得比较是值得比较,只有在他们的值相等时他们才相等;对于字符串来说则并不明显:如果比较俩个单独的字符串,当且仅当他们的长度相等且每个索引的字符都相等时,JavaScript才认为他们相等。

    2、对象的比较:

    对象的比较并非俩个值得比较,即使俩个对象包含同样的属性及相同的值,他们也是不相等的;各个索引元素完全相等的俩个数组也不相等;

    我们通常将对象称为引用类型,以此来和JavaScript的基本类型分开,依照术语叫法,对象值都是引用,对象的比较都是引用的比较,当且仅当他们引用同一个基对象时他们才相等;

    例1是原始值所以只要比较他们的长度和每个索引的字符相同就可以;

    例2由于引用的基对象不同所以不相等;

    例3由于引用的基对象相同,所以更改b的时候a也会被修改;

    这就是我的心得,还请大牛留情!

    相关文章

      网友评论

          本文标题:一个前端小白的读书心得(一)

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