javascript类和原型学习笔记】的更多相关文章

js中类的所有实例对象都从同一个原型对象上继承属性.我们可以自己写一个对象创建的工厂方法来来"模拟"这种继承行为: //inherit()返回一个继承自原型对象p的属性的性对象 //这里使用ECMAScript5中的Object.create()函数 //如果不存在该函数,则使用另一种方法 function inherit(p){ if(p == null) throw TypeError(); if(Object.create) return Object.create(p); va…
js 内置有很多类,我们用的,都是从这些类实例化出来的. function Object () {} function Array () {} function String () {} function Boolean () {} function Function () {} 比如,var a = {};等同于var a = new Object(); var a =[];等同于var a = new Array(); 现在我们要创建一个自定义的类.在SmartList.js中写下以下代码:…
<零基础学JavaScript(全彩版)>学习笔记 二〇一九年二月九日星期六0时9分 前期: 刚刚学完<零基础学HTML5+CSS3(全彩版)>,准备开始学习JavaScript.对Web前端好做一个全面深入的了解,为Python编程的提高打下一个坚实的基础. 本书除了项目实战,共计17章390页,不光本身的视频,光腾讯课堂的JS视频就有35课时以上.计划用时4天到7天的时间学完. 还是先把书过一遍吧,看书比较好掌握进度,然后再看书补补漏. 第1篇   基础知识 第1章 JavaS…
一.in的用法 for...in 枚举一个对象的所有可枚举属性 检测DOM/BOM属性 if ("onclick" in elem) { // 元素支持onclick } if ("onerror" in window) { // window支持onerror } 检测js对象的原型属性(结合hasOwnProperty()函数) if ("attr" in obj && !obj.hasOwnProperty("at…
昨天学习了window对象的一些方法.window对象主要是针对当前视窗的操作.window对象提供了一些列API来帮助我们了解当前窗口的信息.例如history对象可以让我们获取浏览历史.nvaigator对象能够让我们或者浏览器以及系统的一些信息.location对象能够让我们获得网址栏URL的参数.screen对象能够让我们获得当前用户的屏幕大小等等,以及创建新页面的方法open,销毁页面的方法close. 说了这么这么多,终于到了我们今天的DOM对象.DOM对象是 Document Ob…
写在前面: 这12篇博文不是给人看的,而是用来查的,忘记了什么基础知识,点开页面Ctrl + F关键字就好了 P.S.如果在对应分类里没有找到,麻烦告诉我,以便尽快添上.当然,我也会时不时地添点遗漏的东西进去 目录 JS学习笔记1_基础与常识 JS学习笔记2_面向对象 JS学习笔记3_函数表达式 JS学习笔记4_BOM JS学习笔记5_DOM JS学习笔记6_事件 JS学习笔记7_表单脚本 JS学习笔记8_错误处理 JS学习笔记9_JSON JS学习笔记10_Ajax JS学习笔记11_高级技巧…
一.序言   和其他面向对象的语言(如Java)不同,Javascript语言对类的实现和继承的实现没有标准的定义,而是将这些交给了程序员,让程序员更加灵活地(当然刚开始也更加头疼)去定义类,实现继承.(以下不讨论ES6中利用class.extends关键字来实现类和继承:实质上,ES6中的class.extends关键字是利用语法糖实现的) Javascript灵活到甚至可以实现接口的封装(类似Java中的Interface和implements). 二.类的实现 1.我对类的理解   首先,…
1 理解JavaScript原型 什么是原型? 原型是一个对象,其他对象可以通过它实现属性继承. 任何一个对象都可以成为原型么? 是 哪些对象有原型 所有的对象在默认的情况下都有一个原型,因为原型本身也是对象,所以每个原型自身又有一个原型(只有一种例外,默认的对象原型在原型链的顶端.) 当我们已经创建了一个实例对象 ,我们想要这个实例对象继承一个已经存在的对象的功能比如说Array,就可以使用原型 函数A的原型属性(prototype property )是一个对象,当这个函数被用作构造函数来创…
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第六章内容. 1.面向对象(Object-Oriented, OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.前面提到过,ECMAScript中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同. ECMA-262把对象定义为:"无序属性的集合,其属性可以包含基本值.对象或者函数.…
前天和昨天大致浏览了犀牛书的函数.类与模块.正则表达式.JavaScript扩展.以及服务端的js.这些方面对于我目前的水平来说比较难,一些最基本的概念都不能领会.不过最复杂的知识占用平时使用的20%,而最简单的知识却占平时使用的80%.本着先学会使用,后继续研究的学习道路,这些内容就暂且搁置,等js主干知识都学习完了,再来看这部分内容. 正文 一.系统.浏览器.网页.Javascript之间的关系. 有必要在学习jsDOM之前先来了解一下这四者之间的关系. 系统为浏览器提供基本的运行环境.一个…
系统学习JS, 从<JavaScript高级程序设计>入门,通过学习jQuery或者angularJS源码来进阶. 第1章 JavaScript简介 1.JS问世的目的是处理以前由服务器端语言(如Perl)负责的一些输入验证操作,由Netscape主导开发,那时候微软的IE还不能独领风骚.最初叫做LiveScript,当时媒体热炒Java,于是改名为JavaScript.JavaScript和ECMAScript通常指同一门语言,但是,JavaScript是ECMA-262标准的实现和扩展.E…
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第五章内容. 在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起,通常也被称为类,有时候也被成为对象定义,因为他们描述的是一类对象所具有的属性和方法.对象是某个特定引用类型的实例,新对象是使用new操作符后跟一个构造函数来创建的, var person = new Object() ; 创建了一个object对象.构造函数…
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第四章内容. 1.函数:通过函数可以封装任意多条语句,而且可以在任何地方.任何时候调用执行.ECMAScript中的函数用function关键字来进行声明,后面跟一组参数以及函数体.不必指定是否有返回值. function functionName(args0,args1,...argsN){ //statements } 2.函数的重载:为一个函…
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 首先,我将从<JavaScript高级程序设计>这本JavaScript学习者必看的经典教程开始,JavaScript的很多语法规则及习惯用法和Java极其相似,因此对于有Java基础的学习者来说,JS是很容易上手的.该系列的每次更新将对应原书的一章内容,本次更新对应原书的第三章,主要是一些基本概念,内容很简单, 知识点也较少. 1.和一般的编程语言一样,标识符可以由字母.数字.下划线和美元符组成…
昨天学习了js的对象,了解了js的原型链.在js里面万事万物皆对象,只不过一些原始类型要经过包装对象的包装才能暂时变为对象.数组的本质是什么呢?数组其实就是一组数,也就是链表.每个数只是这个链表上的一个位置.js的对象属性值可以是字符串,但是js的数组对象的属性值只能是数字.经常称为索引(index).在使用的时候可以把数组当成对象来使用. 1.创建数组的方式 正如茴香豆的茴有六种写法,我们的js对象也有三种的创建方式.如果你看过昨天的博客就会,了解到创建对象的三种方式. 对象直接量 <scri…
现实生活中真的对象没有找到,在JavaScript 里左一个对象又一个对象,搞的我也是晕晕乎乎不知所云.人事复杂,人心难懂.我虽然是文科生,但是也不善于巧言.还是在js里面找找对象吧.那么我们今天就从js的对象开始入手. 昨天,我们讲过了js里面的数据类型分为两种,原始类型,对象类型.对象类型的组成又是由原始类型和对象类型共同组成的. 今天我们来了解一下对象的一些特征.使用对象无非是增(crate) .删(delete).改(set).查(query); 对象由键值对儿组成,那么对象的属性(ke…
这是零零散散的笔记,作为自己看书打demo的笔记.不足为各位学习,留作自己复习知识点备用. 1.检测对象中某个属性存在不存在: <script> // in 运算符 //不管是对象的自有属性还是继承来的属性,都会返回true. var obj = {a:1,b:2,c:3}; var isExist = 'a' in obj; console.dir(obj); if(isExist){ alert('a 在obj 这个对象里面'); } // hasOwnProperty() //顾名思义,…
前段学习js的时候总是零零散散的,以至于很多东西都模棱两可.时间稍微一久,就容易忘记.最主要的原因是这些东西,原来学的时候就不是太懂,以至于和其他知识无法形成记忆链,所以孤零零的知识特别容易忘记.重温犀牛书,加上最近对记忆宫殿的记忆方法有点感兴趣,于是结合起来来做笔记. 开始吧,上去先扔一张我画的js的数据类型.后面的所有东西,基本上都是基于这张图的. 原始类型没啥说的,就是string,number ,boolean . 对象类型包括 对象.其实还有Array, func 也是特殊的对象.  …
由衷的觉得,随着IT技术的广泛的运用,个人电脑以及智能手机的使用,信息的获取与传播更为简单.但是我们获取有用信息的难度相反是越来越大了,想要保持住自己的注意力越来越难了.除了吃饭睡觉,我的精力都在电脑,手机上耗费掉了.因此在这个时代,谁能够耐得住寂寞,谁能够保持住自己有限的精力,才能得到自己想要的生活. 每个时代都不缺乏成功的人,那么这个时代成功的人为什么不是我呢?为什么不能是我呢? 最空闲的时间,以为学习时间最多.其实到了周五就已经不学习了,想着周六大把的时间可以学习,周六又盼着周日的时间学习…
ECMA-262 把对象定义为:”无序属性的集合,其属性可以包含基本值.对象或者函数.”可以把 ECMAScript 的对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数.   6.1.理解对象 创建自定义对象的两种方式: (1)创建一个 Object 的实例:  var person = new Object();  (2)对象字面量(首选):  var person = {};   --------------------------------------------------…
一.操作符 1.一元操作符: 自加自减(分前置和后置2种):++.-- 区别:前置的先自加或自减,后进行计算:而后置的是先进行计算,后自加或自减(在其会产生负面影响时才能体现区别): ; i++; //++i console.log(i); // 没有负面影响的情况下:2/2 var a = (++i)+i; var b = (i++)+i; console.log(a); console.log(b); 其适合任何类型,非数字类型的会转换成数字类型 Number() :(基础类型的字面量不能使…
1.    在JavaScript中所有事物都是对象:字符串.数字.数组.日期等等2.    在JavaScript中,对象是拥有属性和方法的数据3.    属性是与对象相关的值,方法是能够在对象上执行的动作4.    函数是由事件驱动的或者当它被调用执行的可重复使用的代码块5.    在调用函数时,可以向其传递值,这些值被称为参数,这些参数可以在函数中使用6.    在使用return 语句时,函数会终止执行,并返回确定的值7.    在JavaScript函数内部声明的变量是局部变量,所以只…
Array(数组)是JavaScript中较为复杂的数据类型,同Java.C#.VB等程序语言的数组相比.Javascript数组中的元素不必为同样的数据类型,能够在数组每一个元素上混合使用数字.日期.字符串.Object,甚至加入一个嵌套数组. 一.创建数组 1.var arr1 = new Array(); /var  arr2 = new Array(length); /var arr3 = new Array(element1,element2...); var arr4 = [elem…
JavaScript的核心语言特性在ECMA-262中是以名为ECMAScript的伪语言的形式来定义的. 一.变量和数据类型 1. 变量 JavaSript是弱类型语言,可以通过var定义任何类型变量,同时同一变量可以被赋值成不同类型. JavaScript可以在语句结尾省略分号,JS会自动添加分号,但是最好加分号:1.减少错误 2.方便压缩 3.提高性能 var msg = 'mdzz'; // String msg = 1024; // Number var 声明变量,函数作用域 2. 数…
                     JAVASCRIPT—进阶篇 给变量取个名字(变量命名) 变量名字可以任意取,只不过取名字要遵循一些规则: 1.必须以字母.下划线或美元符号开头,后面可以跟字母.下划线.美元符号和数字.如下: 正确: mysum _mychar $numa1 错误: 6num  //开头不能用数字 %sum //开头不能用除(_ $)外特殊符号,如(%  + /等) sum+num //开头中间不能使用除(_ $)外特殊符号,如(%  + /等) 2.变量名区分大小写,…
 JAVASCRIPT—(慕课网)入门篇 我们来看看如何写入JS代码?你只需一步操作,使用<script>标签在HTML网页中插入JavaScript代码.注意, <script>标签要成对出现,并把JavaScript代码写在<script></script>之间. <script type="text/javascript">表示在<script></script>之间的是文本类型(text),ja…
十.用JavaScript实现动画效果 鼠标放到链接上,每次只显示图片的一小部分,加快加载速度. js: function prepareSlideshow(){ //对象检测 if(!document.getElementsByTagName) return false; if(!document.getElementById) return false; if(!document.getElementById("linklist")) return false; //创建窗口元素…
四.案例研究:JavaScript图片库 js: function showPic(whichpic){ //取得链接 var source=whichpic.getAttribute("href"); //取得占位图 var placeholder=document.getElementById("placeholder"); //改变占位图src属性 placeholer.setAttribute("src",source); //取得文字描…
从7月29号到8月8号,断断续续地看完了这本书,做了部分实践联系.总体感觉本书真的只能算是个入门,学完之后看到库的那一章才感觉是个大坑,实践中大部分应该都是用的现成的库吧,所以还要重新学习一个库,但是这本书也算是给这门语言包括DOM的学习打下了个基础,明白了这些底层的东西,才能将库这些用的更好吧.总体来说,难度入门级,阅读体验良好.注:看完书一定要自己敲敲代码,会出现很多你意想不到的错误,自己学着调试找出错误并改正,这也是一项必备能力吧. 一.JavaScript简史 JavaScript语言使…
By XFE-堪玉 以下知识来源于对王福朋所写<深入理解javascript原型和闭包>的理解和整理 一切都是对象[引用类型],对象都是通过函数创建的[Funcion类型] 对象是属性的集合,因此属性中的方法其实也是属性的一种 函数也是一种对象,因此也是属性的集合,可以对其进行自定义属性 每个函数都有一个属性prototype,属性值为一个对象--原型对象 每个对象都有一个隐式__proto__属性,指向创建该对象的函数的prototype 原型对象默认只有一个constructor的属性,指…