1,理解对象 通过对象字面量的方式,创建一个对象,为它添加属性和方法: var obj = { a: 1, b:2, sayA(){ console.log(this.a)}} 1,属性类型: 数据属性 : 数据属性包含一个数据值的位置.在这个位置可以读取和写入值.有四个特性 configurable  enumerable   writable  value  :  分为的意思为:是否能通过delete删除(能否修改特性).是否能通过for-in循环.是否能修改属性的值.包含这个属性的值 通过…
相关文章: 面向对象的程序设计(一) — 创建对象 http://www.cnblogs.com/blackwood/archive/2013/04/24/3039523.html 继承 继承是OO语言中的一个最为人津津乐道的概念. 许多OO语言都支持两种继承方式:接口继承和实现继承. 接口继承只继承方法签名,而实现继承则继承实际的方法. 如其所述,由于函数没有签名,在ECMAScript中无法实现接口继承. ECMAScript只支持实现继承,而且其实现继承主要是依靠原型链来实现的. 原型链…
1.在html中使用JavaScript 1.  <script> 元素 <script>定义了下列6个属性: async:可选,异步下载外部脚本文件. charset:可选,通过src属性指定代码的字符集,大多浏览器会忽略这个值,所以很少人使用 language:已放弃 src:可选,外部脚本的地址 type:可选,现在不推荐用“text/javascript”,考虑到约定俗成和最大限度的浏览器兼容,目前type属性的值还是text/javascript,不过,这个属性并不是必需…
    创建对象   工厂模式 function createPerson(name, age, job){ var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function(){ alert(this.name); } return o; } var person1 = createPerson("zhangsan", 18, "JavaScript Programmer&…
面向对象设计 es中有两种属性:数据属性和访问器属性 数据属性: 数据属性包含一个数据值的位置,在这个位置可以读取和写入值,数据属性有4个描述其行为的特性 [[Configurable]]:表示能否通过delete删除属性从而重新第一属性,能否修改属性的特性,或者能否把属性修改为访问器属性,默认为true [[Enumerable]]:表示能否通过for-in循环返回属性,默认为true [[Writable]]:表示能否修改属性的值,默认为true [[Value]]:包含这个属性的数据值默认…
Javascript面向对象 函数 * Arguments对象: * Arguments对象是数组对象 * Arguments对象的length属性可以获取参数的个数 * 利用Arguments对象模拟函数的重载效果(javascript中不存在函数重载) 变量的作用域 * 全局变量与局部变量 * 全局变量:全局域与函数域(局部域) * 局部变量:当前函数域 * 全局域与函数域 * 定义局部变量时,不使用"var",局部变量变成全局变量 * 定义全局变量与局部变量同名时,函数域中只能访…
① 理解对象 ② 创建对象 ③ 继承…
Prototype 1.  当声明一个函数的时候,浏览器会自动为该函数添加一个属性prototype, 2.  该属性的默认值为{} 3.  可以动态的给prototype增加key和value值 4.  另外一种形式动态添加key,value值 Json 动态的给json添加属性 第一种方式 第二种方式 动态的遍历json Extends 第一种 function Person(){ } Person.prototype.setName = function(name){ this.name…
ParseInt()函数: 由于Number函数在转换字符串时比较复杂而且不合理,我们常常转换字符串都用parseInt函数, Parseint函数规则: 忽略字符串前面的空格,直到找到第一个非空格字符串 如果第一个字符串不是数字字符或是负号,就返回NaN,所以””返回NaN 如果第一个字符是数字字符,它会继续解析第二个字符,直到解析完所有后续字符或者遇到了非数字字符,例如,”123blue”转换为123,”22.5”会转换为22 如果字符串中的第一个字符是数字字符,parseInt()也能够识…
一.ES6 1.模块化 ES6通过export和import实现模块化 ES6的模块化的基本规则或特点, 欢迎补充: 1:每一个模块只加载一次, 每一个JS只执行一次, 如果下次再去加载同目录下同文件,直接从内存中读取. 一个模块就是一个单例,或者说就是一个对象: 2:每一个模块内声明的变量都是局部变量, 不会污染全局作用域: 3:模块内部的变量或者函数可以通过export导出: 4:一个模块可以导入别的模块 例子: // util1.js export default{ a: // expor…
最近在系统的学习JS深层次内容,并稍微整理了一下,作为备忘和后期复习,这里分享给大家,希望对大家有所帮助.如有错误请留言指正,tks. 了解这些问题,我先一步步来看,先从稍微浅显内容说起,然后引出这些概念. 本文只用实例验证结果,并做简要说明,给大家增加些印象,因为单独一项拿出来都需要大篇幅讲解. 1.值类型 & 引用类型 function show(x) { console.log(typeof(x)); // undefined console.log(typeof(10)); // num…
1)  构造函数模式 es中的构造函数可以用来创建特定类型的对象,像Object和Array这样的原生构造函数,在运行时会自动出现在执行环境中,此外,也可以创建自定义的构造函数,从而定义自定义对象类型的属性和方法,例如: function Person(name,age,job){ this.name=name; this.age=age; this.job=job; this.sayName=function(){ alert(this.name); } } var person1=new P…
Function类型 Es5中规范了另一个函数对象的属性:caller,这个属性中保存着调用当前函数的函数的引用,如果是在全局作用域中调用当前函数,这它的值为null function outer(){ Inner(); } function inner(){ alert(inner.caller) } outer(); inner.caller指向outer 为了实现更松散的耦合 也可以通过arguments.callee.caller来访问相同的信息,如下代码: function outer…
引用类型 检测数组 注:我们实际开发中经常遇到要把数组转化成以逗号隔开,我以前都是join来实现,其实又更简单的方法可以用toString方法,它会自动用逗号隔开转换成字符串,其实toString内部也是调用join方法 检测数组方法又两种: l 在es5中新增了 Array.isArray()方法来检测是否是数组 l 另一种是 value instanceof Array ,这种方法不适合在页面套用模板,因为这个是检测构造函数,套用两个模板会有两个构造函数所以会有问题, Push是把参数添加到…
Object类 什么是Object类? Object类是所有Java类的祖先,每个类都使用 Object 作为超类,所有对象(包括数组)都实现这个类的方法Object类是类层次结构的根,Object类是Java中唯一没有父类的类.其他所有的类,包括标准容器类,比如数组,都继承了Object类中的方法. Object类方法有哪些? toString方法 首先toString()方法是Object根类的一个默认方法 咱试一试输出一下默认的方法 //重写toString方法 package me.to…
DOM0级事件 <img src = "../..."  onclick = "function()" />  // 处理事件 elment.onclick  = function(){......}; //处理事件 elment.onclick = null; //删除事件 DOM2级事件 element.addEventListener("click", function, bollern); //处理事件名;    处理事件函数…
从驱动全球商业.贸易及管理领域不计其数的复杂应用程序的角度来看,说 JavaScript 已经成为当今世界上最流行的编程语言一点儿都不为过. JavaScript 是一种非常松散的面向对象语言,也是 Web 开发中极受欢迎的一门语言. JavaScript,尽管它的语法和编程风格与 Java 都很相似,但它却不是 Java 的“轻量级”版本,甚至与 Java 没有任何关系. JavaScript 是一种全新的动态语言,它植根于全球数亿网民都在使用的 Web 浏览器之中,致力于增强网站和 Web…
学习目标: - 理解面向对象开发思想 - 掌握 JavaScript 面向对象开发相关模式 - 掌握在 JavaScript 中使用正则表达式 - typora-copy-images-to media JavaScript 高级 课程介绍 课程大纲 在线地址:JavaScript 高级 目标 理解面向对象开发思想 掌握 JavaScript 面向对象开发相关模式 掌握在 JavaScript 中使用正则表达式 案例演示 贪吃蛇 基本概念复习 由于 JavaScript 高级还是针对 JavaS…
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第六章内容. 1.面向对象(Object-Oriented, OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.前面提到过,ECMAScript中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同. ECMA-262把对象定义为:"无序属性的集合,其属性可以包含基本值.对象或者函数.…
第6章  面向对象的程序设计 6.2 创建对象 创建某个类的实例,必须使用new操作符调用构造函数会经历以下四个步骤: 创建一个新对象: 将构造函数的作用域赋给新对象: 执行构造函数中的代码: 返回新对象. 构造函数的问题:每个方法都要在每个实例上重新创建一遍: 理解原型对象: 无论何时,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象.默认情况下,所有原型对象都会自动获得一个constructor属性,这个属性包含一个指向proto…
[本博客为原创:http://www.cnblogs.com/HeavenBin/] 前言: 大致花费了一个星期的时间把这本书认真看了半本,下面是我做的阅读笔记,希望能够让看这本书的人有个大致的参考.目前可能写得较乱不够全面,后续我会整理添加.(2017-7-17) 第一章 JavaScript简介 第二章 HTML中使用JavaScript 第三章  基本概念 3.1.语法 区分大小写 标识符(建议用驼峰大小写myCar) 注释// /**/ 严格模式(use strict) 语句 建议var…
写在前面: 这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_高级技巧…
写在开头 本篇是小红书笔记的第六篇,也许你会奇怪第六篇笔记才写语法基础,笔者是不是穿越了. 答案当然是没有,笔者在此分享自己的阅读心得,不少人翻书都是从头开始,结果永远就只在前几章. 对此,笔者换了随机阅读的方式,哪章感兴趣了或者想补知识点,再去翻阅对应的章节.当然目录还是要翻的. 工作生活节奏太快,知识太多,时间与知识的增长成反比,求全不如求专,也许不能看完全书,但至少掌握所需知识点. 思维导图是个好东西,一图流. 语法 标识符 由字母,下划线_,美元符号$,数字组成 第一个字符不能是数字 注…
这个系列以往文字地址: <Javascript高级程序设计>阅读记录(一):第二.三章 <Javascript高级程序设计>阅读记录(二):第四章 <Javascript高级程序设计>阅读记录(三):第五章 上 <Javascript高级程序设计>阅读记录(四):第五章 下 <Javascript高级程序设计>阅读记录(五):第六章 上 绿色背景的内容是我认为比较值得注意的原著内容. 黄色背景的内容是我认为非常重要的原著内容. 我的理解会用蓝色的…
javascript高级程序设计,当枕头书已经好久了~zz  现在觉得自己在js的开发上遇到了一些瓶颈,归根究底还是基础太薄弱,所以重新刷一遍js高程希望有更新的认识. 一.javascript简介 1.ECMAScript 版本规范 2.DOM 文档对象模型 3.BOM 浏览器对象模型 二.HTML中应用script 1.<script>标签 属性:async="async" / defer="defer" 异步脚本:async:立即下载脚本,对外部脚…
2019年,新年伊始,我打算好好重读一下<JavaScript高级程序设计>这本前端必备经典书.每天半小时. 以下内容摘自<JavaScript高级程序设计> 2019-2-11 第一章 —— 第三章笔记 1.区分大小写 2.严格模式 "use strict"; ECMAScript5引入了严格模式的概念.支持严格模式的浏览器包括:IE10+,Firefox4+,Safari5.1+,Opera12+,Chrome 3.声明变量 var message = &q…
文章目录 第三章 基本语法 第四章 变量.作用域和内存问题 第五章 应用类型 1. Array 类型 2. RegExp 类型 3. Function 类型 4. String 类型 第六章 面向对象的程序设计 6.1 理解对象 1. 属性类型 2. 读取属性 6.2 创建对象 1. 构造函数模式 2. 原型模式 3.组合使用构造函数和原型模式(主要使用方式) 6.3 继承 1. 原型链 2. 组合继承(主要使用方式) 3. 原型链继承 第七章 函数表达式 *闭包是指有权访问另一个函数作用域中的…
很少看书,不喜欢看书,主要是上学时总坐不住,没有多大定性,一本书可以两天看完,随便翻翻,也可以丢在角落里几个月不去动一下. 上次碰到了<JavaScript高级程序设计(第3版)>感觉真的真的不错,很多大神也在推荐这本书,所以就下载了电子版看了五章.前天决定还是买实体书来看,一是这本书确实不错,二是电子书怎么看怎么不舒服.今天早上收到书迫不及待的打开包裹,还没翻开书却发现书背在快递过程中已被磨损,心疼... 想来想去,决定无论如何要写看书笔记,一个一个字敲上来,监督自己,发帖为证! 可能每次发…
欢迎各位指导与讨论 : ) -------------------------待续------------------------------- 本文为笔者在学习时整理的笔记,如有错漏,恳请各位指出,共同进步O(∩_∩)O 第二章 在HTML中使用JavaScript 1 . script标签的默认type属性值为 text/javascript 其在http传输中的MIME Type通常为 application/x-javascript 2 . 使用转义字符防止script标签提早结束而报错…
DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘了一个层次节点树,允许开发人员添加.移除和修改. 1.节点层次 <html> <head> <title>Simple Page</title> </head> <body> <p>Hello World!</p> </body> </html> 如上的HTML文档,可以表示为一个层次结构. 文档…