预解析 函数声明方式 this关键字 工厂模式 new关键字创建对象 字面量声明对象 变量对象js

  • 预解析

 Var num;

Function fun(){

 Console.log(“中国我爱你”);

}

Console.log(num);

//打印出 undefinded

//预解析:在任何作用域代码开始之前,系统会将所有的变量声明,

//提至作用域的最前面

 

  • 函数的声明方式
  1. 内置构造函数的方法

 Function fun1(){

  Console.log(“利用内置构造函数声明”);

}

Fun1();

 

  1. 使用函数表达式声明

 //在对象中 声明函数

Var fun2=function(){

  Console.log(“利用函数表带是声明”);

}

Fun2();

 

  1. 匿名函数

 (

  Function(){

Console.log(“匿名函数声明”);

}

 

)();

 

 

  • 对象中this关键

      // 优化,封装成为一个函数,用来将重复的代码,变成一个函数方法

        var fun = function () {

            console.log('大家好,我是'+this.name);

        }

        // this关键字

        // this关键字并不是写死的数据

        // 谁调用,那么this就会指向谁

 

        var dou = new Object();

        dou.name = '豆蔻33';

        // dou.sayHi = function () {

        //     console.log('大家好,我是'+dou.name);

        // }

        dou.sayHi = fun;

 

        var wei = new Object();

        wei.name = '俊伟33';

        // wei.sayHi = function () {

        //     console.log('大家好,我是'+wei.name);

        // }

        wei.sayHi = fun;

 

        var yi = new Object();

        yi.name = '廖益33';

        // yi.sayHi = function () {

        //     console.log('大家好,我是'+yi.name);

        // }

        yi.sayHi = fun;

 

        

 

        dou.sayHi();// this就指向了dou

        wei.sayHi();// this就指向了wei

        yi.sayHi();// this就指向了yi

  • 工厂模式

//工厂模式-----批量创建一批相同格式的对象

Function fun(){

  Console.log(‘大家好,我是’+this.name);

 

}

Function getStu(name){

  Var stu=new Object();

//先创建一个空对象

Stu.name=name;

Stu.say=fun;

Return stu;

//创建好的对象必须返回去

 

}

Var do=getStu(“可爱的宝宝”);

Do.say();

 

 

  • new关键字创建对象

 Function getstu(name){

 

  This.name=name;

This.say=function(){

 Console.log(“大家好,我是”+this.name);

}

 

}

Var we=new getstu(“可爱的宝宝”);

//总结 new关键字到底做了什么

//1.new 已经声明了一个空的对象,不需要你手动的声明一个空对象

//2.让this关键字,指向创建好的对象

//3.将传入的参数赋值给这个对象

//4.new帮你将创建好的对象,返回出来,不需要手动写return 返回语句

 

 

 

 

  • 使用字面量声明对象

  //对象的字面量是:{}

Var obj={

  Name:’可可爱的宝宝’,

Age:0,

Say:function(){

 Console.log(“大家好,我是”+this.name);

}

};

Obj.say();

 

七,对象遍历方法

 

        var wei = {

            name: '陈俊伟',

            age: 75,

            sayHi: function () {

                console.log('大家好,我是'+this.name);

            }

        }

        console.log(wei);

        console.log(wei.name);

        console.log(wei['name']);

        console.log(wei['age']);

 

        // 对象的遍历

        // forin方法

        /* 

            for(var key in 对象名) {

                console.log(对象名[key]);

            }

         */

 

        for(var key in wei) {

            // key:关键字,对象中的属性名以及函数名

            // 根据key值来遍历对象的内容

            console.log(key+':'+wei[key]);

        }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值