JavaScript原型学习笔记】的更多相关文章

1 理解JavaScript原型 什么是原型? 原型是一个对象,其他对象可以通过它实现属性继承. 任何一个对象都可以成为原型么? 是 哪些对象有原型 所有的对象在默认的情况下都有一个原型,因为原型本身也是对象,所以每个原型自身又有一个原型(只有一种例外,默认的对象原型在原型链的顶端.) 当我们已经创建了一个实例对象 ,我们想要这个实例对象继承一个已经存在的对象的功能比如说Array,就可以使用原型 函数A的原型属性(prototype property )是一个对象,当这个函数被用作构造函数来创…
本文接上篇,基础部分相对薄弱的同学请移步<JavaScript正则表达式学习笔记(一) - 理论基础>.上文介绍了8种JavaScript正则表达式的属性,本文还会追加介绍几种JavaScript正则表达式的属性(注意是非标准属性,但很好用). 一. 上文回顾 本文会用到上篇文章部分内容,所以简单回顾下. 1.1 JavaScript正则表达式标志符 g: 全局匹配,即找到所有匹配的.对应属性RegExp#global. i: 忽略字母大小写.对应属性RegExp#ingoreCase. m:…
JavaScript 正则表达式 学习笔记 标签(空格分隔): 基础 JavaScript 正则表达式是用于匹配字符串中字符组合的模式.在javascript中,正则表达式也是对象.这些模式被用于RegExp的exec.test方法,以及String的match.replace.search和split方法. 源码地址 原文地址 一.创建一个正则表达式 两种方法构建正则表达式: 使用一个正则表达式字面来那个,其由包含在斜杠之间的模式组成.在加载脚本后,正则表达式字面值提供正则表达式的编译.当正则…
学习地址:http://www.w3school.com.cn/js/index.asp 文字版: https://github.com/songzhenhua/github/blob/master/JavaScript简易学习笔记 .txt  …
javaScript 对象学习笔记 关于对象,这对我们软件工程到学生来说是不陌生的. 因为这个内容是在过年学到,事儿多,断断续续,总感觉有一丝不顺畅,但总结还是要写一下的 JavaScript 对象 DOM 节点 JS 数字 JavaScript 中的所有事物都是对象:字符串.数值.数组.函数... 此外,JavaScript 允许自定义对象. JavaScript 对象 JavaScript 提供多个内建对象,比如 String.Date.Array 等等. 对象只是带有属性和方法的特殊数据类…
1.0, 概述.JavaScript是ECMAScript的实现之一 2.0,在HTML中使用JavaScript. 2.1 3.0,基本概念 3.1,ECMAScript中的一切(变量,函数名,操作符)都是区分大小写的. 3.2, 3.3, 3.4, 3.5, typeof 用于基本类型的判别,instanceof用于引用类型(Object类型)的判别. 3.6, 3.7, 3.8,Boolean类型有两个取值:true 和 false(区分大小写).使用Boolean()函数如下:注意,除n…
写在前面 近期在看<MVC的Javascript富应用开发>一书.本来是抱着一口气读完的想法去看的.结果才看了一点就傻眼了:太多不懂的地方了. 仅仅好看一点查一点,一点一点往下看吧,进度虽慢但也一定要坚持看完. 本学习笔记是对书上所解说内容的理解和记录. 笔记里的代码大多会按书上摘录下来,由于<MVC的Javascript富应用开发>是结合了JQuery库.所以对于JQuery中不太懂的知识点也会附在代码后面,也算是一些额外的收获. MVC概述 要学习MVC,首先得知道MVC是什么…
此文都是大牛们关于闭包的观点,在此只是总结. 闭包应用的两种情况即可——函数作为返回值,函数作为参数传递. 1 深入理解javascript原型和闭包 判断一个变量是不是对象非常简单.值类型的类型判断用typeof,引用类型的类型判断用instanceof. 对象里面的一切都是属性,只有属性,没有方法.方法也是一种属性.因为它的属性表示为键值对的形式. javascript中的对象可以任意的扩展属性. var obj={ a : 10, b : function(x){ return this.…
看完<你不知道的javascript>上,对作用域的新的理解(2018-9-25更) 一.学习笔记:   1.javascript中的作用域和作用域链 +  每个函数在被调用时都会创建一个自己的执行环境(作用域),javascript中一切皆为对象,函数也是一个对象:函数对象和其他对象一样,拥有通过代码访问的属性和仅供javascript引擎访问的内部属性.其中一个内部属性就是[[scope]],它是函数在被定义时就创建的,它包含了 函数被创建的作用域中对象的集合.这个集合被称为函数的作用域链…
js中类的所有实例对象都从同一个原型对象上继承属性.我们可以自己写一个对象创建的工厂方法来来"模拟"这种继承行为: //inherit()返回一个继承自原型对象p的属性的性对象 //这里使用ECMAScript5中的Object.create()函数 //如果不存在该函数,则使用另一种方法 function inherit(p){ if(p == null) throw TypeError(); if(Object.create) return Object.create(p); va…
简介 众所周知,JavaScript 既是一门充满吸引力.简单易用的语言,又是一门具有许多复杂微妙技术的语言,即使是经验丰富的JavaScript 开发者,如果没有认真学习的话也无法真正理解它们. 如果每次遇到JavaScript 中出乎意料的行为时,你的反应就是把它加入黑名单(很多人都是这么做的),那用不了多久你就会把JavaScript 语言真正的多样性全部排除. 现在你所理解的JavaScript 很可能是从别人那里学来的不完整版.这样的JavaScript 只是真正的JavaScript…
最近工作轻松了点,想起了以前总是看到的一个单词promise,于是耐心下来学习了一下.   一:Promise是什么?为什么会有这个东西? 首先说明,Promise是为了解决javascript异步编程时候代码书写的方式产生的. 随着javascript的发展,异步的场景越来越多.前端有AJAX,setTimeout等,后端Node异步更多.按照传统的做法,那么就是各种回调嵌回调.代码可以把人绕晕. 这个时候,CommonJS社区提出了一个叫做Promise/A+的规范,这个规范定义了如何书写异…
1 理解Javascript constructor实现原理 在 JavaScript 中,每个函数都有名为“prototype”的属性,用于引用原型对象.此原型对象又有名为“constructor”的属性,它反过来引用函数本身.这是一种循环引用 2 JavaScript探秘:构造函数 Constructor 除了创建对象,构造函数(constructor) 还做了另一件有用的事情—自动为创建的新对象设置了原型对象(prototype object) .原型对象存放于 ConstructorFu…
ECMA-262 把对象定义为:”无序属性的集合,其属性可以包含基本值.对象或者函数.”可以把 ECMAScript 的对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数.   6.1.理解对象 创建自定义对象的两种方式: (1)创建一个 Object 的实例:  var person = new Object();  (2)对象字面量(首选):  var person = {};   --------------------------------------------------…
JavaScript作为一个面向对象语言(JS是基于对象的),可以实现继承是必不可少的,但是由于本身并没有类的概念,所以不会像真正的面向对象编程语言通过类实现继承,但可以通过其他方法实现继承.(javascript中的继承是通过原型链来体现的http://www.cnblogs.com/amumustyle/p/5435653.html)实现继承的方法很多,下面就只是其中的几种. 一.原型链继承 function Person() { //被继承的函数叫做超类型(父类,基类) this.name…
最小全局变量 JavaScript通过函数管理作用域.在函数内部生命的变量只在这个函数内部,别的地方不可用.全局变量是指在函数外或是未声明直接简单使用的.每个Javascipt环境有一个全局对象,当你在任意函数外使用this都可以访问.你创建的每一个全部变量都成了这个全局对象的属性.在浏览器里,方便起见,该全局对象有个附件属性叫做window,此window指向该全局对象本身. myglobal = "hello"; // 不推荐写法console.log(myglobal); //…
今天,我复习了一下JavaScript的数组相关的知识,总结一下数组的API: 总共有11个API:按照学习的先后顺序来吧,分别是: ① toString()  语法:arr.toString(); 将数组转化为字符串,并且返回这个字符串,以逗号分隔:但是不改变原数组: var arr=[1,2,3,4,5]; var result=arr.toString(); console.log(result); //1,2,3,4,5 console.log(arr); //[1,2,3,4,5] t…
一.什么是对象 对象: JavaScript的一种基本数据类型 对象是属性的无序集合,每个属性都是一个名/值对 JavaScript中的事物都是对象:字符串.数值.数组.函数... JavaScript对象是动态的,在于它可以新增删除属性 JavaScript提供多个内置对象,比如String.Date.Array等 对象最常见的用法是创建(create).设置(set).查找(query).删除(delete).检测(test)和枚举(enumerate)它的属性. 对象的属性包含名字和值,除…
JavaScript 常被描述为一种基于原型的语言 (prototype-based language)--每个对象拥有一个原型对象,对象以其原型为模板.从原型继承方法和属性.原型对象也可能拥有原型,并从中继承方法和属性,一层一层.以此类推.这种关系常被称为原型链 (prototype chain),它解释了为何一个对象会拥有定义在其他对象中的属性和方法.准确地说,这些属性和方法定义在Object的构造器函数(constructor functions)之上的prototype属性上,而非对象实…
3包装对象:https://www.imooc.com/video/5676 当我们尝试把基本类型已对象的方式访问时,javascript会把该基本类型转换为对应的包装类型对象(临时对象),相当于new了一个新对象,且新对象的值和原基本类型一样,当完成访问和操作,临时对象会被销毁掉. var a="string"; alert(a.length);//6 a.t=3;//成功未报错 alert(a.t);//undefined   临时对象已被销毁 ‘str’----String Ob…
在慕课之前学过JS深入浅出,最近发现很多东西都记不太清楚了,再复习一遍好了,感觉这个课程真的超级棒的,做做笔记,再添加一些学习内容…
1.JavaScript 对大小写敏感. JavaScript 对大小写是敏感的. 当编写 JavaScript 语句时,请留意是否关闭大小写切换键. 函数 getElementById 与 getElementbyID 是不同的. 同样,变量 myVariable 与 MyVariable 也是不同的. 2.空格 JavaScript 会忽略多余的空格.您可以向脚本添加空格,来提高其可读性.下面的两行代码是等效的: var name="Hello";var name = "…
------------------2016-7-20更------------------ 最近在看<高性能JavaScript>一书,里面当中,有讲很多提高js性能的书,正在看的过程中,记下做法以及原因,供以后学习参考: 1.将经常使用的对象成员.数组项.和域外变量存入局部变量 原因:数据存储位置对大地代码整体性能会产生重要的影响,直接变量和局部变量的访问速度快于数组和对象成员.因为局部变量位于作用域链的第一个对象中,全局变量位于作用域链的最后一环.变量在作用域链的位置越深,访问的时间就越…
一.数据类型:1.对象与对象是不相等的,比如:console.log(new Object() == new Object())//结果是false;console.log([1,2] == [1,2]);//结果是false;但是有一个例外的就是console.log(null === null)//结果是true2.NaN和NaN是不同的,console.log(NaN == NaN)//结果是false3.类型检测的几种方法:typeof. instanceof. Object.proto…
今天进入第二个部分:控制器. 控制器和状态 从以往的开发经验来看.我们都是将状态保存在server的session或者本地cookie中,但Javascript应用往往被限制在单页面,所以我们也能够将状态保存在client的内存里面.保存在内存还意味着能带来更快的界面响应. 在MVC里面,状态都是保存在控制器里的,控制器相当于应用中视图和模型的纽带. 当载入页面的时候,控制器将事件处理程序绑定在视图里.并适时处理回调,以及和模型必要的对接. 控制器是模块化的并且非常独立,理想状况下不应该定义不论…
在javaScript 学习中,闭包肯定是一个让人头疼的问题,而闭包必定离不开[[scope]]作用域 scope存储了执行期上下文的集合 而了解scope以及scope链又是一个十分抽象的问题 我们先把它具体化成问题 有这样一个函数: function a(){ var a = 1; } a(); 在执行这段代码时 首先 a从预编译到执行期 1.a  defined a.[scope] 0 :GO 2.a  doing    a.[scope] 0 :AO 1 :GO a首先创建GO 占sco…
前端JavaScript学习 JavaScript导入方式:1.外部文件导入<script src="myScript.js"></script> 2.在标签内插入<script> 和 </script> 会告诉 JavaScript 在何处开始和结束. JavaScript输出数据:1.使用 window.alert() 弹出警告框.2.使用 document.write() 方法将内容写到 HTML 文档中.3.使用 innerHTM…
JavaScript入门(一) 学习js之前,我们先来了解一下,什么是JavaScript? JavaScript是一种解释型语言.在运行的时候,一边读一边编译一边执行.简单来说就是,在执行js代码时,读第n行代码的时候,并不知道第n+1行的代码是什么. JavaScript也是一种轻量型的脚本语言.所谓"脚本语言",指的是他不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的"脚本" JavaScript也是一种嵌入式语言(embedded…
参考资料 视频链接:https://www.bilibili.com/video/BV1Sy4y1C7ha?spm_id_from=333.999.0.0 菜鸟教程:https://www.runoob.com/js/js-tutorial.html 视频目录: 当前进度[P181] 基础知识:P1-P10 变量:P11-19 数据类型:P20-40 运算符:P41-54 流程控制分支结构:P55-68 循环:P69-95 数组:P96-112 函数:P113-133 作用域:P134-139…
JavaScript ------------------------------变量声明 : var a;变量赋值 : var a = 12; 函数声明 : var mAwesomeFunction = function myArgument){ }函数调用 : mAwesomeFunction(something); 函数 作为函数的参数传入另一个函数中 声明函数1 square = function (a) { return a * a ; } 声明函数2 applyOperation =…