javascript面向对象学习笔记

     2022-03-13     447

关键词:

面向对象:
变量和属性一样的。
属性:属于一个对象
变量:属于任何一个人
函数:
方法:属于一个对象
难点:
this:当前的方法属于谁,this就是谁的
例子
window.show = function(){
alert(this);
}
//this是window
function show(){
alert(this);
}
Object:用来实现对象
var obj = new Object();
例子:
var obj = new Object();
obj.name = "zhaobw";
obj.age = "12";
obj.showName = function(){
alert("我的名字:"+this.name);
}
obj.age = function(){
alert("我的年龄:"+this.age);
}
/*
*缺点:如果多个对象就会很麻烦
*/
改进:
模式:工厂模式
缺点:
(1)没有new
(2)函数不能共用
a.showname != b.shwoname
function createPerson(name,age)//构造函数
{
//原料
var obj = new Object();
//加工
obj.name = name;
obj.age = age;
obj.showName = function(){
alert("我的名字:"+this.name);
};
obj.age = function(){
alert("我的年龄:"+this.age);
};
//出厂
return obj;
}
var a = createPerson(‘zhaobw‘,‘12‘);
var b = createPerson(‘zhangsan‘,‘18‘);
在函数前加了new
系统会自动执行:
(1)var this = new object();
(2)return this;
改进:解决new
function createPerson(name,age)//构造函数
{
this.name = name;
this.age = age;
this.showName = function(){
alert("我的名字:"+this.name);
};
this.age = function(){
alert("我的年龄:"+this.age);
};
}
var a = new createPerson(‘zhaobw‘,‘12‘);
原型:
改进:解决函数共用的问题
(1)prototype给一组对象添加方法。
(2)解决函数共用了。
-------------------------------------------
function asd(){//构造函数
//不一样的部分放在构造函数
}
asd.prototype.show = funcrion(){
//一样的部分放在原型里
}
--------------------------------------------
json写对象
json里可以放数字,字符串,对象,函数
特点:简单
适用范围:整个程序只有一个对象
--------------------------------------------
命名空间:可以让多个名字相同的函数存在

var zns = {};
zns.common = {};
zns.fs = {};
zns.site = {};
zns.common.getUser = function(){
alert("a");
};
zns.fs.getUser = function(){
alert("a");
};
---------------------------------------------
继承
对象有属性和方法组成
call可以改变函数执行的this
可以通过call来完成继承属性
方法继承:
for(var i in A.prototype) {
B.prototype[i] = A.prototype[i];
}
*引用*
var arr1 = [1,2,3,4]
var arr2 =arr1;
arr1和arr2引用同一块空间
改变arr1时arr2也会发生变化
避免引用:循环一遍就好

 




















































































































javascript学习笔记——this原型javascript面向对象

一、this在JavaScript中this表示:谁调用它,this就是谁。JavaScript是由对象组成的,一切皆为对象,万物皆为对象。this是一个动态的对象,根据调用的对象不同而发生变化,当然也可以使用call、apply修改this指向的对象。它代表函数... 查看详情

javascript面向对象学习笔记

面向对象:变量和属性一样的。属性:属于一个对象变量:属于任何一个人函数:方法:属于一个对象难点:this:当前的方法属于谁,this就是谁的例子window.show=function(){ alert(this);}//this是windowfunctionshow(){ alert(this);}Object:用来实现对... 查看详情

javascript面向对象编程指南——学习笔记1

 第1章引言1.1回顾历史1.2变革之风1.3分析现状1.4展望未来1.5面向对象的程序设计  1.5.1对象(属性和方法的集合)  1.5.2类(相似对象的共同特征,如麻雀、老鹰都是鸟类)  1.5.3封装(将属性和方法集合起来,也有封... 查看详情

javascript面向对象学习笔记--创建对象(七种模式)

一、工厂模式   考虑到ECMAScript中无法创建类,开发人员就发明了一种函数,用函数来封装以特定接口创建对象的细节  functioncreatePerson(name,age,job){varo=newObject();o.name=name;o.age=age;o.job=job;o.sayName=function(){alert(this.name);};returno... 查看详情

javascript学习笔记2_面向对象

1.对象的定义ECMAScript中,对象是一个无序属性集,这里的“属性”可以是基本值、对象或者函数2.数据属性与访问器属性数据属性即有值的属性,可以设置属性只读、不可删除、不可枚举等等访问器属性是用来设置getter和setter的... 查看详情

javascript学习笔记——js从基础到面向对象

 p.p1{margin:0.0px0.0px10.0px0.0px;line-height:18.0px;font:14.0px"SongtiSC"}li.li2{margin:0.0px0.0px0.0px0.0px;line-height:17.0px;font:14.0px"SongtiSC"}span.s1{}ul.ul1{list-style-type:disc}一、认识JS 查看详情

javascript学习笔记八:面向对象的程序设计

1.ECMA-262把对象定义为:无序属性的集合,其属性可以包含基本值,对象和函数。每个对象都是基于一个引用类型创建的。2.属性有两种:数据属性和访问器属性,其中访问器属性不能直接定义,必须使用Object.defineProperty()来定义... 查看详情

javascript原型学习笔记

JS是一门面向对象的语言,和其它面向对象的语言不一样的是,在JS中没有类的概念。接触过C++、Java的人都清楚,类实现了对象之间的属性和方法共享,而类的继承实现了类的复用。在JS中,通过基于原型的继承实现了以上的功... 查看详情

javascript面向对象编程:封装

学习Javascript,最难的地方是什么?我觉得,Object(对象)最难。因为Javascript的Object模型很独特,和其他语言都不一样,初学者不容易掌握。下面就是我的学习笔记,希望对大家学习这个部分有所帮助。我主要参考了以下两本书... 查看详情

javascript面向对象编程:封装

学习Javascript,最难的地方是什么?我觉得,Object(对象)最难。因为Javascript的Object模型很独特,和其他语言都不一样,初学者不容易掌握。下面就是我的学习笔记,希望对大家学习这个部分有所帮助。我主要参考了以下两本书... 查看详情

javascript面向对象编程:封装

学习Javascript,最难的地方是什么?我觉得,Object(对象)最难。因为Javascript的Object模型很独特,和其他语言都不一样,初学者不容易掌握。下面就是我的学习笔记,希望对大家学习这个部分有所帮助。我主要参考了以下两本书... 查看详情

javascript学习笔记——javascript语法之对象

JavaScript中的所有事物都是对象:字符串、数字、数组、日期,等等。在JavaScript中,对象是拥有属性和方法的数据。属性是与对象相关的值。方法是能够在对象上执行的动作。 提示:在面向对象的语言中,属性和方法常被称... 查看详情

javascript学习笔记

Javascript学习笔记是一门程序设计语言基于对象和事件驱动语言(点击之类的),用于客户端,不同于jsp是用在服务端的。特点:1,交互性2,安全性(不允许直接访问硬盘)3,跨平台(只要能解释JS的浏览器就可以执行,和平台... 查看详情

javascript高级程序设计学习笔记第五章上

 第五章 引用类型的值(对象)是引用类型的一个实例。在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起。它也常被称为类,但这种称呼并不妥当。尽管ECMAScript从技术上讲是一门面向对象的语言,但它不具... 查看详情

javascript学习笔记3——创建对象

本文主要是对《JavaScript高级程序设计》第六章(面向对象的程序设计)的总结,书上的这章至少看了4遍是有的。该章主要讲对象的创建与继承。其中创建对象和继承方式至少6种,再加上一些方法属性,很容易搞得晕头转向的。... 查看详情

js-javascript高级程序设计学习笔记4

第六章面向对象的程序设计1、面向对象的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。如python。ES中没有类的概念。2、ES的对象可以想象成散列表:无非就是一组名值对,... 查看详情

javascript学习笔记(代码片段)

文章目录一、什么是JavaScript?二、快速入门2.1引入JavaScript2.2基本语法入门2.3数据类型2.4严格检查模式三、数据类型3.1字符串3.2数组3.3对象3.4流程控制3.5Map和Set3.6iterate四、函数4.1定义函数4.2变量的作用域4.3方法五、内部对象5... 查看详情

javascript高级程序设计笔记之面向对象

...创建许多具有共同属性以及方法的实例或者说对象。但是JavaScript并没有类的概念,而且在JavaScript中几乎一切皆对象,问题来了,JavaScript中如何面向对象?  JavaScript中将对象定义为:一组无序的键值对的集合,属性以及方法... 查看详情