javascript中有原型这么一个概念,任何一个构造函数都有它对应的原型(prototype),我们可以给这个原型赋予一些我们想要的属性,像下面这样: function Gadget(name, color){ this.name = name; this.color = color; this.whatAreYou = function(){ return 'I am a ' + this.color + ' ' + this.name; } } Gadget.prototype.price…
目录 Airbnb Javascript Style Guide 引用 对象 数组 函数 箭头函数 类和构造器 模块 Iterators and Generators 变量 比较运算符 注释 空格 Airbnb React/JSX Style Guide 基本规范 Class vs React.createClass vs stateless 命名 声明模块 代码对齐 引号 空格 属性 Refs 括号 标签 函数/方法 模块生命周期 isMounted Airbnb Javascript Sty…
原网址 :  https://segmentfault.com/a/1190000013040555 类型 基本类型:直接存取 string number boolean null undefined symbol const foo = 1; let bar = foo; bar = 9; console.log(foo, bar); // => 1, 9 symbol 类型不能完全polyfilled,所以请谨慎使用 复杂类型: 通过引用的方式存取 object array function…
hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象.不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员.格式如下: 1. 示例一: var bStr = "Test String".hasOwnProperty("split"); // 得到false, 因为不能检测原型链中的属性 "Test String".split(" ");//但是是能成功调用的 2…
1.局部变量和全局变量 var操作符定义的变量将成为定义该变量作用域中的局部变量.这个局部变量会在函数退出后销毁.不同于其他语言,javaScript不存在块级作用域. 全局变量就是window对象的属性,所有未定义的变量和在最外层(非函数体内)的变量都拥有全部作用域.如非必要,尽量避免在函数体内使用全局变量. function test(){ for(var i=0;i<10;i++) { var sum=i; } alert(sum);//javaScript作用域是函数决定的.提示为10…
1.function  xx(){} 2.匿名方式   window.onload=function(){dslfjdslfkjdslf}; 3.动态方式  var demo=new Function('x','y','var y=x+y;return y;'); var sum=demo(4,55); alert(sum); 一.JavaScript的历史 a) 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名Scrip…
ch3 基本概念 标签(空格分隔): JavaScript 语法 标识符 - 第一个字符必须是字母.下划线或美元 - 驼峰大小写格式 严格模式 ECMAScript5引入,定义了一种解析和执行模型.此时,ECMAScript3中的一些不确定行为将得到处理,对某些不安全的操作也会抛出错误. "use strict"; 关键字与保留字 关键字 关键字 关键字 关键字 关键字 break do instanceof typeof case else new var catch finally…
JS的实现: 核心:ECMAScript ECMAScript 并不与任何具体浏览器相绑定,实际上,它也没有提到用于任何用户输入输出的方法(这点与 C 这类语言不同,它需要依赖外部的库来完成这类任务). ECMA-262 标准(第 2 段)的描述如下: “ECMAScript 可以为不同种类的宿主环境提供核心的脚本编程能力,因此核心的脚本语言是与任何特定的宿主环境分开进行规定的... ...” Web 浏览器对于 ECMAScript 来说是一个宿主环境,但它并不是唯一的宿主环境. 简单地说,E…
参考一篇不错的文章:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object 1.创建对象: var person = new Object(); 或 var person = {}; 2.对象属性: 2.1.为对象添加属性: person.firstname = "Bill"; // 为person对象添加firstname属性 person.lastname = &…
ylbtech-JavaScript:ECMAScript 引用类型 1. 返回顶部 2. ECMAScript 引用类型返回顶部 引用类型通常叫做类(class). 本教程会讨论大量的 ECMAScript 预定义引用类型. 引用类型 引用类型通常叫做类(class),也就是说,遇到引用值,所处理的就是对象. 本教程会讨论大量的 ECMAScript 预定义引用类型. 从现在起,将重点讨论与已经讨论过的原始类型紧密相关的引用类型. 注意:从传统意义上来说,ECMAScript 并不真正具有类.…
JavaScript的对象 对象是JavaScript的一种数据类型.对象可以看成是属性的无序集合,每个属性都是一个键值对,属性名是字符串,因此可以把对象看成是从字符串到值的映射.这种数据结构在其他语言中称之为"散列(hash)"."字典(dictionary)"."关联数组(associative array)"等. 原型式继承:对象不仅仅是字符串到值的映射,除了可以保持自有的属性,JavaScript对象还可以从一个称之为原型的对象继承属性,…
1 JavaScript的组成和书写位置 Javascript:运行在客户端(浏览器)的脚本语言,JavaScript的解释器被称为JavaScript引擎,为浏览器的一部分,与java没有直接的关系. Java:服务器端的编程语言. API:Application Programming Interface,应用程序编程接口. 1.1 JavaScript的组成 ECMAScript核心:描述了语言的基本语法和数据类型,提供核心语言功能.主要包含语法.类型.语句.关键字.保留字.操作符.对象.…
总结的文章略长,慎点. 知识点预热 引用类型:引用类型的值(对象)是引用类型的一个实例.在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起.在其他面向对象语言中被称为类,虽然ECMAScript从技术上讲也是一门面向对象语言,但它不具备传统面向对象语言所支持的类和接口等基本结构而是通过别的形式实现类模板和继承.引用类型描述的是一类对象所具有的属性和方法. 对象:对象是某个特定引用的实例,新对象是使用 new 操作符后跟一个构造函数来创建的.实例对象其实就是一组特定数据和…
最小全局变量 :        1)每个javascript环境有一个全局对象,当你在任意的函数外面使用this的时候可以访问到,你创建的每一个全部变量都成了这个全局对象的属性,在浏览器中,方便起见,该全局对象有一个附加属性叫做window,此window(通常)指向该全局对象本身,下面的代码片段显示了如何在浏览器环境,中创建和访问的全局变量        myglobal = 'hello';   //不推荐写法        console.info(window.myglobal); //…
> 变量.作用域和内存问题js为弱类型的语言 变量的值和数据类型可以在脚本的生命周期内改变.5种基本类型:string, number, undefined, null, boolean,基本数据类型是按值访问的.引用类型是保存在内存中的对象,js不能直接操作对象的内存空间.引用类型是按引用访问的. 动态的属性对象的属性可以随时添加和删除 delete运算符不能给基本类型添加属性 如:var name = "myname";name.age = 18;console.log(na…
Obejct对象 1.ECMAScript 中的 Object 对象与 Java 中的 java.lang.Object 相似. 2.ECMAScript中的所有对象都由Object对象继承而来,Object对象中的所欲属性和方法都会出现在其他对象中. 3.Obejct的属性 constructor:对创建对象的函数的引用(指针),该指针指向原始的Object()函数. Prototype:对于所有的对象,他默认返回Object对象的一个实例. 4.Obejct的方法 hasOwnPropert…
目录 引用类型与对象 类与对象 成员组成 成员访问 实例方法 / 属性 引用类型与对象 JavaScript 存在着两种数据类型:"基本数据类型" 与 "引用数据类型". "引用数据类型" 是一种数据结构,它将数据(属性)与功能(方法)组织在一起,引用类型的值就是"引用类型"的实例. var obj = new Object(); 其中 Object 就是一种"引用类型",而 obj 则是对应 Object…
目录 语法 标识符 严格模式 关键字 保留字 变量 数据类型 运算符 表达式与语句 语法 "语法"指的是一门语言的书写风格,JavaScript 的语法风格很类似于 C 以及 Java. 语法又是一种概念上的统称,例如如何声明变量.定义函数.书写流程控制语句或者是进行条件判断等,这些都是属于语法风格的范畴. 标识符 所谓的"标识符"就是对变量.标签.函数.方法.属性以及参数名称的统称. 标识符可以分为"用户自定义标识符"与"系统标识符&…
javascript(面向对象,作用域,闭包,设计模式等) 1. 常用js类定义的方法有哪些? 参考答案:主要有构造函数原型和对象创建两种方法.原型法是通用老方法,对象创建是ES5推荐使用的方法.目前来看,原型法更普遍. 代码演示1) 构造函数方法定义类 function Person(){ this.name = 'michaelqin'; } Person.prototype.sayName = function(){ alert(this.name); } var person = new…
Object 对象自身用处不大,不过在了解其他类之前,还是应该了解它.因为 ECMAScript 中的 Object 对象与 Java 中的 java.lang.Object 相似,ECMAScript 中的所有对象都由这个对象继承而来,Object 对象中的所有属性和方法都会出现在其他对象中,所以理解了 Object 对象,就可以更好地理解其他对象. Object 对象具有下列属性: constructor 对创建对象的函数的引用(指针).对于 Object 对象,该指针指向原始的 Objec…
JavaScript 实现是由以下 3 个不同部分组成的:    核心(ECMAScript)    文档对象模型(DOM)    浏览器对象模型(BOM) 1.数据类型 typeof 运算符 对变量或值调用 typeof 运算符将返回下列值之一:    undefined - 如果变量是 Undefined 类型的    boolean - 如果变量是 Boolean 类型的    number - 如果变量是 Number 类型的    string - 如果变量是 String 类型的  …
最近因项目需求,需要在上传图片的时候先对图片裁剪,然后在上传,所以就有了本文的出现. 开始正文之前,要提一下这个图片的裁剪:图片的裁剪,有前端裁剪,也可以后端裁剪 前端的裁剪我知道的可以分为这么两种:flash一种,canvas一种.现在用的多的是canvas这种. 其实裁剪最本质的原理:通过工具获取到图片(不是JS那种获取DOM的方式,比如flash获取到图片,对图片任意操作,canvas也是一样,将图片放在画布上,任意操作) 本文使用的是canvas这种方式,借助的是cropper.js实现…
第三章:对象 //1.定义一个方法 method Function .prototype.method=function(name, func){ this.prototype[name]=func; return this; } //2.给Object增加一个create方法,这个方法创建一个使用原对象作为其原型的新对象 Object.create=function(o){ var F=function(){}; F.prototype=o; return new F(); } //继承 Fu…
说明 介绍JavaScript数据类型 目录 前言 参考来源 前置技术要求 JavaScript的6种数据类型 哪6种数据类型 undefined 类型 null 类型 boolean 类型 number 类型 string 类型 复杂 类型 基本型和引用型的不同 关于数据类型的一些常见疑问 为什么typeof null === 'object' string,String,object,Object,function,Function的关系 关于String类型与string类型的疑问 fun…
说明 前面三篇博客介绍了js中基本的知识点,包括变量类型及其转换.表达式.运算符等小知识点,这篇博客主要讲的是对象.如果你学过java等语言,你也许在下文的阅读中发现在js中的对象与java中的对象存在一定的区别. 相关术语说明 一.对象中成员变量的”属性特性“ ①可写:表明该属性可以设置其值. ②可枚举:表明是否可以通过for/in循环返回该属性. ③可配置:表明是否可以删除或者修改该属性. 注:关于for/in等语句的说明,第一篇博文就说过,本系列教程是建立在读者对基本的编程有一定了解的基础…
1.属性的查询和设置 ①基本语法 这个简单,可以通过点(.)或方括号([])运算来获取属性的值,注意点运算符后的标识符不能是保留字,方括号内的表达式必须返回字符串或返回一个可以转换成字符串的值. var person = { name:'jaychou', height:172, sayName:function () { console.log(this.name); } }; console.log(person['name']); console.log(person.height); 往…
引用类型通常叫做类(class),也就是说,遇到引用值,所处理的就是对象. 注意:从传统意义上来说,ECMAScript 并不真正具有类.事实上,除了说明不存在类,在 ECMA-262 中根本没有出现“类”这个词.ECMAScript 定义了“对象定义”,逻辑上等价于其他程序设计语言中的类 Object 对象是由 new 运算符加上要实例化的对象的名字创建的.例如,下面的代码创建 Object 对象的实例: var obj = new Object(); 这种语法与 Java 语言的相似,不过当…
Object.prototype 上的方法: constructor 返回创建该对象的构造函数 var arr = []; arr.constructor == function Array() { [native code] } var str = ""; str .constructor == function String() { [native code] } hasOwnProperty 能判断一个对象是否包含自定义属性而不是原型链上的属性,hasOwnProperty 是…
1.类型转换①转换成字符串toString() ⅰBoolean 值.数字和字符串的原始值的有趣之处在于它们是伪对象,这意味着它们实际上具有属性和方法. var sColor = "red";alert(sColor.length); //输出 "3" ⅱ3 种主要的原始类型 Boolean 值.数字和字符串都有 toString() 方法,可以把它们的值转换成字符串. 无论最初采用什么表示法声明数字,Number 类型的 toString() 方法返回的都是数字的…
 json与object的区别:1.JSON是对象,但对象不一定是JSON2.对象的组成是由属性和属性值,也就是KEY->VALUE对组成,value可是是任意的数据类型,当value为一个函数的时候,这个时候叫做方法.而你通过 JSON.parse()传入的字符串并里面有VALUE为function的吗?不可能像下面的例子一样写这个被转换的字符串: var a ={name:"",say:function(){}}; JSON.parse(a); 以上代码,是没有办法执行的.即…