javascript学习内容之小结

  • 2019-08-30 23:07:37
  • 1,803 次阅读
  • 稿源:天马行空

学习之美在于一头雾水 ,不经历风雨怎能见彩虹

javascript学习内容小结

1.什么时候是undefined 什么时候报错is not defined

a.在没有定义变量,直接使用会出现is not defined

譬如:console.log(a);

b.在定义了变量后,而没有赋值会出现undefined

譬如:var a;console.log(a);

2.函数练习

a.递归,了解递归的执行过程

<script>
        5 * f1(4)
        5 * 4 * f1(3)


        f1(1)
       function f1(n) {
           if ( n == 1) {
               return 1;
           }
           return n * f1(n-1);
       }
 </script>

b.函数是一种数据类型,可以作为另一个函数的参数

function getResult(a, b, type) {
           if (type == "+") {
               return a + b;
           }else if(type = "-") {
               return a - b;
           }else{
               console.log("非法运算");
           }
       }

       function getResult(a, b, fn) {
           return fn(a,b);
       }

       var f1 = function (a,b) {
           return a + b;
       };
       var r = getResult(1,2,f1);
       console.log(r);
	 //  经历过才会懂,自己做过才知道这件事情

3.为什么要学对象

a.对象可以封装一组数据,方便以后的使用

4.什么是对象

a.一组无序属性的集合 stu.name 对数组而言是有序的

b.对象可以看成键值对 stu[“name”]

c.属性可以包含基本值、对象和函数

4.对象的组成

a.对象的属性– 特征 名词

b.对象的方法– 行为 动词

c.还有事件

5.函数和方法的区别

函数 直接调用的是函数 alert();

方法 通过对象调用的是方法 hero.attack();

6.构造函数

a.构造函数的目的是用来创建对象

真正用的时候找对象的过程比较难,嘿嘿,妈妈再也不用担心我找对象了,没有对象,我可以new一个!!

b.使用new Object()创建对象

var o = new Object();
        console.log(typeof o);
        console.log(o);

        function createStudent(name,age,sex,score) {
            //通过构造函数,创建对象
            var student = new Object();
            //对象的属性
            student.name = name;
            student.age = age;
            student.sex = sex;
            student.score = score;
            //对象的方法
            student.sayHi = function() {
                //this 当前这个对象
                console.log("大家好,我是" + this.name);
            }
            //返回对象
            return student;
        }

        var s1 = createStudent("mh",18,"男",18);
        var s2 = createStudent("ml",19,"不详",0.1);

        console.log(s1);
//        s1.sayHi();
//        s2.sayHi();

c.封装函数创建多个对象

        //什么时候要使用自定义构造函数:需要创建很多对象的时候
        //自定义构造函数  --- 构造函数:构造一个对象,并且返回的函数
        //调用构造函数  var student =  new Object();

        function Student(name, age, sex, score) {
            //对象的属性
            this.name = name;
            this.age = age;
            this.sex = sex;
            this.score = score;
            //对象的方法
            this.sayHi = function () {
                console.log("大家好,我是"+this.name);
            }
        }

        //1 内存开辟空间,存储新创建的对象new Object();
        //2 会把this设置为当前对象
        //3 执行函数内部的代码,设置对象的属性和方法
        //4 返回新创建的对象
        var s1 = new Student("zs",18,1,10);
        var s2 = new Student("llls",18,1,10);
//        s1.sayHi();
//        s2.sayHi();

        console.log(s1.name);
        console.log(s1["name"]);

        //对象:无序属性的集合,我们可以把对象看成键值对
        var o = new Object();
//        o["name"]  = "zs";
//
//        console.log(o.name);

//        for (var i = 0; i < 10; i++) {
//            //动态的给对象增加属性
//            o["n" + i] = i;
//        }
//
//        console.log(o.n2);

//        function test() {
//            //此时this是window,因为是window调用的此函数
//            console.log(this);
//        }
//        test();
//        window.test();

d.自定义构造函数

//1内存开辟空间,存储新创建的对象newObject();

//2会把this设置为当前对象

//3执行函数内部的代码,设置对象的属性和方法

//4返回新创建的对象
function Student(name,age,sex,score){
// 对象的属性
this.name=name;
this.age=age;
this.sex=sex;
this.score=score;
//对象的方法
console.log("大家好,我是"+this.name);
this.sayHi=function(){
}
}
S1.sayHI();

7.this在函数中的意义

a.函数中的this
this是当前调用函数的对象

b.构造函数中的this
当前构造函数创建的对象

喜欢 0

文章评论 (0)

表情

大眼 可爱 大笑 坏笑 害羞 发怒 折磨 快哭了 大哭 白眼 晕 流汗 困 腼腆 惊讶 憨笑 色 得意 骷髅 囧 睡觉 眨眼 亲亲 疑问 闭嘴 难过 淡定 抗议 鄙视 猪头