javascript学习内容之小结
- 2019-08-30 23:07:37
- 2,124 次阅读
- 0
学习之美在于一头雾水 ,不经历风雨怎能见彩虹
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)