面向对象

103 阅读1分钟
    <!-- 基本数据类型 number string boolean null undefined Symbol -->
    <!-- 引用数据类型 object(Function Array RegExp) -->
    <!-- es6 提供一个基本数据类型Symbol -->
    <!-- Symbol代表了唯一的一个数 不可以new -->
    <script>
        /* console.log('1'==='1');  *//* =>true */
        /*  console.log( Symbol('1') == Symbol('1') ); */
        /*  用Symbol包裹的数据是唯一的 独一无二的 */
        /*  console.log( Symbol('1') ); */
        /* 首字母开头大写的叫 构造函数 可以new */
        //   let obj = new Object()
        //   console.log(obj);
        /* let a = new Symbol('username')  不可以new*/

        /* 两个人在同时开发一个页面 */
        /* 小A定义了对象obj */
        //    let obj = {
        //        username:"zhangsan"
        //    }
        //    /* 小B 不知道这个obj 有的key叫username
        //    把username 重新赋值了 造成了问题*/
        //    obj.username = 'lisi'

        //    console.log(obj);

        // let obj = {
        //     [Symbol('username')]: "zhangsan"
        // }
        // console.log('old',obj);
        // obj.username = 'lisi'
        // console.log('new',obj);

        // [] 如果里面的时候一个变量 可以直接写 o[user1]
        // 这里面的user1 就是一个变量
        // o['user1'] =>{user1:'zhangsan'}
        // let user1 = 'username'; 
        // let o = {}; /* => {username:'zhangsan'} */
        // o[user1] = 'zhangsan'
        

    </script>
        JS是一种基于对象的语言,和其它面向对象语言不同
        引用类型是一种数据结构,将数据和功能组织在一起,常被称为类
     -->
     <script>
        /* 基于Object的方式创建对象 */
        /* Object 类 */
        /* obj 实例化出来的对象 */
        //  let obj = new Object();
        //  obj.name = '涛涛';
        //  obj.age = '30';
        //  obj.playGame = function (){
        //     document.write('我nba2k 超级溜');
        //  }
        //  document.write(obj.name + '<br>');
        //  document.write(obj.age + '<br>');
        //  obj.playGame();

        /* 对象字面量 */
        /* 对象字面量
        对象定义的一种简写形式
        简化创建包含大量属性的对象的过程
        在为函数传递大量可选参数时,可考虑使用对象字面量 */


     </script>