前面我们一共介绍了四种方法用来封装对象(工厂,构造模式,原型模式,构造+原型),并且重点对构造函数+原型模式做了一些改进,使之更加完美,那么除了这几种方法, 还有两种方式用来封装对象,还是那句话,选择适合自己的(其实每种方法都各有利弊,在我刚开始学习时总感觉就是拆东墙补西墙)。首先来看第一种方法function Person(name,age){var o=new Object();o.name=name;o.age=age;o.sayName=function(){console.log(this.na...
万物皆对象 (づ ̄3 ̄)づ╭?~ 面向对象的基本概念:类和实例。JavaScript不区分类和实例,通过原型来实现面向对象。1. 类--->原型对象JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。这种动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。本身不提供class实现(在ES2015/ES6中引入class关键字,但只是语法糖,JavaScript仍然是基...
js有5种原始值类型:布尔值、数字、字符串、null和undefined。用typeof检测一下:typeof true; //"boolean"typeof 2; //"number"typeof “s”;//"string"typeof null;//"object":ECMAScript把null描述为独特的类型,但返回值却是对象类型,有点困惑。 可以使用Object.prototype.toString.call(null);//"[object Null]" 可以正确判断出null类型。typeof undefined;//"undefined"标准库提供了构造函数来封装布...
1.open,setTimeout,setInterval,clearInterval,clearTimeout<!DOCTYPE><html><head><meta charset="UTF-8"></meta><title></title><script type="text/javascript">// BOM:浏览器对象,broswer object model// window对象:窗口默认自带的对象,也就是js默认的对象function test() {// 最常用的 window.open("http://www.baidu.com","百度","500px");// 打开一个页面//window.close();// 关闭一个页面 ...
面向对象一、属性与方法//创建一个对象 var obj = {}; | var obj = new Object(); // 属性 obj[‘name‘] = ‘大毛‘; | obj.name = ‘大毛‘; // 方法 obj.func = function () {//body.... } // 删除属性与方法 delete obj.prop delete obj.func关于之前的变量污染的问题,可以通过对象来解决// 学习目的:对象的(临时)属性可以帮助存储临时数据,因为临时数据的生命周期往往很短.需要提示临时数据的生命周期 // 临时数据会随属性的...
有时候,我们使用电脑的时候,并不知道它的原理是什么,但是就是会使用他,这就是面向对象。同样的,在JavaScript中也可使用这种原理,接下来就随我一起探索一下关于JavaScript面向对象的内容吧。 面向过程和面向对象编程概述面向过程编程就是分析出解决问题的步骤,然后使用函数把这些步骤一步步实现,重心放在完成的每个过程上。面向对象则是以封装的思想,将问题分析得到的数据封装成一个个的对象,然后通过对对象的操作来完成相...
javascript对象是一种复合值,它是属性或已命名值的集合。通过‘.‘符号来引用属性值。当属性值是一个函数时,称其为方法。通过o.m()来调用对象o中的方法。我们发现,字符串也同样具有属性和方法 var s = ‘hello world‘; console.log(s.length);//11 字符串既然不是对象,为什么它会有属性呢?这就引出了今天介绍的内容——包装对象 定义 在javascript中,“一切皆对象”,就连三种原始类型的值(数值、字符串、布尔...
什么叫非构造函数的继承?比如,现在有一个对象,叫做"中国人"。 var Chinese = { nation:‘中国‘ };还有一个对象,叫做"医生"。 var Doctor ={ career:‘医生‘ }请问怎样才能让"医生"去继承"中国人",也就是说,我怎样才能生成一个"中国医生"的对象?这里要注意,这两个对象都是普通对象,不是构造函数,无法使用构造函数方法实现"继承"。二、object()方法object()函数,可以做到这一点。 functio...
一,操作html1.改变html的元素 2.改变html的属性3.改变所有的html的CSS样式4.对页面的所有事件作出反应<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><p id="hello">Hello World!!!!</p><p id="hey">hahhahahahah</p><input type="button" onclick="domdemo()" value="点击"/><button onclick="domdemo2()">变标签</button><script>function domdemo(){document.getElementById("hello").in...
基于组合与动态原型创建对象 方法一:在外部设置prototype<script type="text/javascript">/** * 为了解决原型所带来的问题,此处需要通过组合构造函数和原型来实现对象的创建 * 将属性在构造函数中定义,将方法在原型中定义 * 这种有效集合了两者的优点,是目前最为常用的一种方式 */ function Person(name,age,friends){ //属性在构造函数中定义 this.name = name; this.age = age; this.friends...
JavaScript内置对象 图像对象 导航对象 窗口对象 屏幕对象 事件对象 历史对象 文件对象(重要) 锚点对象 链接对象 框架对象 表单对象(重要) 位置对象 JS Window 窗口对象:http://www.w3school.com.cn/js/js_window.asp 所有浏览器都支持window对象。它表示浏览器窗口。 所有 JavaScript 全局对象、函数以及变量均自动成为window对象的成员。 窗口对象的属性和方法格式:[window.]属性[window.]方法(参数) 甚至 HT...
面向对象编程很重要的一个方面,就是对象的继承。A 对象通过继承 B 对象,就能直接拥有 B 对象的所有属性和方法。这对于代码的复用是非常有用的。大部分面向对象的编程语言,都是通过“类”(class)实现对象的继承。传统上,JavaScript 语言的继承不通过 class,而是通过“原型对象”(prototype)实现,本章介绍 JavaScript 的原型链继承。ES6 引入了 class 语法,基于 class 的继承不在这个教程介绍,请参阅《ES6 标准入门》一书...
1 <html>2 <head>3 <meta charset="utf-8">4 <title>javascript对象的学习</title> 5 </head> 6 <body>7 <h1>1.使用JS创建person对象,里面有id,name,age,sex属性 ,有eat,run方法 (2种方法创建)</h1><hr>8 <script language="javascript">9 document.write("<h2>"+"第一种方法"+"</h2>"); 10var person=new Object(); 11 person.id="10010"; 12 person.name="小别"; 13 person.age...
javascript Date对象 --> 时间转字符串:测试代码: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Date对象</title><style>body {background-color: #333; color: white;}</style> </head> <body><script type="text/javascript">/**** 3. 时间转换 */var testDate = new Date();var dateobj_toString = testDate.toString(); // toString() 把 Date 对象转换为字符串。var dataobj_toTimeStri...
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; color: #000000; background-color: #ffffff }1.1创建对象<script text="text/javascript">//1.创建对象//this this 所在的函数属于哪个对象,this就代表这个对象//1.1直接创建var dog = {name: ‘San‘,age: 18,height: 1.55,dogFriends: [‘Bob‘,‘Lili‘],eat:function (someThing) {console.log( this.name +‘吃‘+ someThing);},run:function (someWher...