obj的方法调用,所以函数体中的this就代表obj对象 2.函数调用模式 当一个函数并非一个对象的属性时,那么它就是被当做函数来调用的。...3.构造函数模式 如果在一个函数前面加上new关键字来调用,那么就会创建一个连接到该函数的prototype成员的新对象,同时,this会被绑定到这个新对象上。...这种情况下,这个函数就可以成为此对象的构造函数。...,函数体内的this被绑定为新创建的对象person。 ...4.apply调用模式 在JS中,函数也是对象,所有函数对象都有两个方法:apply和call,这两个方法可以让我们构建一个参数数组传递给调用函数,也允许我们改变this的值。
箭头函数中没有 arguments 1. arguments 介绍 众所周知,js 是一门非常灵活的语言。...当我们在 js 中调用一个函数时,经常会给函数传递一些参数,js 把调用函数时传入的全部实参存储到一个叫做 arguments 的类数组对象里面 arguments 是一个类数组对象,不是一个真正的数组...这里做下总结 arguments 是类数组对象(伪数组),即不是一个真正的数组,而是一个对象。...它有 length 属性,并且可以通过下标获取元素,但是它不能调用数组方法,就是因为它不是真正的数组,这一点可以通过查看它的原型验证 2. arguments 转为数组 arguments 是类数组对象...箭头函数中没有 arguments arguments 只存在于普通函数中,而在箭头函数中是不存在的 下面代码抛出错误异常:Uncaught ReferenceError: arguments is not
day03_js学习笔记_02_js的内建对象、js的函数 =======================================================================...4) Array对象 (5) Date对象 (6) Math对象 (7 )RegExp对象 四、js的函数(相当于java中的方法)...1、js函数定义的方式 (1) 普通方式 (2) 匿名函数方式(开发中常用该方式) (3) 对象函数方式(开发中该方式基本不用)...2、js函数的参数 3、js函数的返回值 4、js的全局函数(js内置定义好的函数(方法),可以直接调用) (1) 编码和解码函数...学习笔记_02_js的内建对象、js的函数 ----------------------------------------------------------------------------- 一
学习JS的过程中,想要掌握面向对象的程序设计风格,对象模型(原型和继承)是其中的重点和难点,拜读了各类经典书籍和各位前辈的技术文章,感觉都太过高深,花费了不少时间才搞明白(个人智商是硬伤/(ㄒoㄒ)/~...一、基本概念 1、对象:属性和方法的集合,即变量和函数的封装。每个对象都有一个__proto__属性,指向这个对象的构造函数的原型对象。 ...2、构造器函数:用于创建对象的函数,通过new关键字生成对象。函数名一般首字母大写的。 ...3、原型对象:每个函数都有一个prototype属性,它是一个指向原型对象的指针(原型对象在定义函数时同时被创建) 二、创建对象的方法 1、使用构造函数和原型对象共同创建 ?...通过构造函数创建实例对象p1和p2的时候,其中name、age、job这些是通过构造函数生成的(本地部分),sayName方法是通过继承原型对象来实现共享的(远程部分),这样多个实例对象都是由本地(私有
:存在在原型对象里面的属性与方法可以被构造函数的所有对象所共享...);//构造函数里面的prototype指向了对象(原型对象) /*2.每个"原型对象"中都有一个默认的属性, 叫做constructor constructor指向当前原型对象对应的那个..."构造函数" */ console.log(Person.prototype.constructor);//原型对象里面的constructor属性指向了函数(当前原型对象对应的那个..."构造函数") /*3.通过构造函数创建出来的对象我们称之为"实例对象" 每个"实例对象"中都有一个默认的属性, 叫做__proto__ __proto__指向创建它的那个构造函数的...__proto__);//实例对象的__proto__指向了对象(构函数里面的原型对象) ?
本期介绍 本期主要介绍DOM对象&JS事件总结&全局函数 文章目录 1. DOM 对象 1.1 DOM 对象是什么?有什么作用? 1.2 DOM 树介绍 1.3 DOM 和 BOM 关系 2. ...JS 事件总结 3. 全局函数(global) 3.1 执行 3.2 编码和解码 3.3 字符串转数字 1. DOM 对象 1.1 DOM 对象是什么?有什么作用?..., 通过操作对象的属性或者方法,来达到操作或者改变 HTML 展示效果的目的。...加载到浏览器的内存 加载并解析到内存中,会生成一张 DOM 树 其中: 在 DOM 树中所有的成员都可以成为节点 (Node) 整个 DOM 树,是一个文档节点对象,即...JS 事件总结 常见事件 示例代码: 鼠标键盘事件 示例代码: 3. 全局函数(global) 3.1 执行 作用:用于增强程序的扩展性。
JS函数增强 函数属性 JavaScript中函数也是一个对象,那么对象中就可以有属性和方法,他有一些默认的属性 name 函数名 length 函数参数个数(ES6 ......对象包含了传给函数的所有实参但是不是数组对象 需要转换 rest参数是一个真正的数组,可以进行数组的所有操作 arguments是早期为了方便去获取所有的参数提供的数据结构,rest参数是ES6中提供并且希望替代...他是一个特殊函数可以将传入的字符串当作js代码执行 可读性差 有注入风险 必须经过解释器 不会得到引擎的优化 严格模式的使用 js的局限性 : JavaScript 不断向前发展且并未带来任何兼容性问题...; 新旧代码该新模式对于向下兼容有帮助但是也有问题出现 就是创造者对于js的不完善之处会一直保留 ES5标准中提出了严格模式的概念,以更加严格的方式对代码进行检测和执行 只需要在代码的开头或者函数的开头...加入use strict就可以开启严格模式 JS对象增强 数据属性描述符 我们的属性一般定义在对象的内部或者直接添加到对象内部,但是这种方式我们就不能对属性进行一些限制,比如这个属性是否是可以通过delete
js中关于原型和原型链有 __proto__ 、prototype、constructor 频频出现在面试题中,但是记得多了反而容易记混。 这里简单总结下每个属性的使用场景,方便记忆。...对象和函数都有 __proto__,对象的 __proto__指向构造函数的prototype,构造函数的__proto__指向 Function.prototype 对象和函数都有constructor...,对象的 constructor指向构造函数,构造函数的constructor指向 Function 函数才有 prototype 函数的prototype又是一个对象,但是 Funtion.prototype...特殊记忆:typeof Function.prototype==="function" Object因为O大写,可以看出本质也是一个构造函数 __proto__ 指向一个原型对象,构造函数.prototype...__proto__===null,因为 Object.prototype 为js 原型链的顶端。
做项目的时候遇到一个不是很常见的问题,就是js函数传递参数的时候,我们一般是传递一个数字或者是一个字符串,但是当你的需求满足不了的时候,就需要将对象或者数组作为一个参数传递过去,这个时候怎么做呢,今天简单的说有一下...: 先说一下我出现这个问题的环境,我在处理订单信息的时候,接口给的参数是所有的数据,所以这个时候我需要的是将所有的数据遍历出来,数据结构大概是这样的: ?...这个是典型的三层的json结构,所以遍历的难度是不大的,就是很容就遍历出错,我的需求当然不是说仅仅将这些数据遍历出来就可以了,我需要做的是将最里层的data拿到,作为对象传递过去,因为这是每一个订单的具体内容...,首先拿到了成功的返回数据,这个时候我们看上面的数据结构,最外层的是model_list包括的,所以直接取出来,拿到以后呢将我们需要的data拿到,转为json格式的,这个时候我们下面需要用到里面数据的时候就比较容易拿到...,下一步就是怎么将对象data作为一个参数传递过去,我们需要这样处理一下: JSON.stringify(detalData).replace(/\"/g, "'") 将我们拿到的json对象转为string
25 data.sort(createCompareFun("name")); 26 document.write("用name排序,获得的第二位的元素的...name是:【"+data[2].name+"】") 29 说明:createCompareFun()函数内部,嵌套一个内部函数,函数作为值被return返回, 内部函数传两个参数...,并通过[]讲createCompareFun()函数的propertyName属性解析出来,在通过常规比较函数进行判断、比较。...在data中,定义了一个有三个元素的对象数组,最后调用createCompareFun()函数,并根据自己需要比较的属性来传参,函数对数组进行排序。得到比较的结果。...再加一个普通的比较函数 1 function compare(value1,value2){ 2 if(value1>value2
大家好,又见面了,我是你们的朋友全栈君。...1.对象转数组 var obj = {name:”张三”,name:”李四”,name:”王五”}; var arr = []; arr = Object.values(obj) //obj就被转换成数组了...2.数组转对象 var obj={}; var arr = []; for(key in arr) { obj[key] = arr[key] //上面的对象obj会被这里新转换的替换 } 3.获取对象长度...对象的长度不能用.length获取,用js原生的Object.keys可以获取到 var obj = {‘ww’:’11’,’ee’:’22}; var arr = Object.keys...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
总结 ---- 前言 在Node.js中提供了一些全局可用的变量、函数和对象,全局就是不需要进行模块加载,可以直接使用的。其中包括全局作用域的函数和对象。...也包括不在全局作用域,而在每个模块作用域都存在的变量、函数和对象,在全局可用,但不是golbal对象的属性。...---- _dirname和_filename变量 Node.js提供了两个与文件操作相关全局可用变量_dirname和_filename变量。...全局函数 setTimeout(cb,ms) 全局函数在指定的毫秒(ms)数后执行指定函数(cb)。setTimeout()只执行一次指定函数。...console对象 我们在学习中,经常使用到console.log()语句,console对象就是一个全局对象,用于提供控制台标准输出。
实例对象:通过构造函数的new操作创建的对象是实例对象,又常常被称为对象实例。可以用一个构造函数,构造多个实例对象。下面的f1和f2就是实例对象。...使用原型对象的好处是可以让所有对象实例共享它所包含的属性和方法 无论什么时候,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象。...简而言之,任何一个函数,都拥有一个prototype属性,指向其原型对象,该原型对象也是由该函数new调用创造的所有实例对象的原型对象。 5....构造函数,原型对象和实例对象的关系 5.1 指向关系 构造函数A的prototype属性指向F与其实例对象(a1,a2,...)的原型对象A.prototype,该原型对象的constructor属性指向构造函数...参考 javascript面向对象系列第一篇——构造函数和原型对象 JS入门难点解析10-创建对象 深入理解js构造函数 JavaScript构造函数详解 BOOK-《JavaScript高级程序设计
js中的对象 在编程语言中,提到对象,一般都含有一个隐藏的上下文面向对象编程。 面向对象编程(Object Oriented Programming,缩写为 OOP)是目前主流的编程范式。...因此,面向对象编程具有灵活、代码可复用、高度模块化等特点,容易维护和开发,比起由一系列函数或指令组成的传统的过程式编程(procedural programming),更适合多人合作的大型软件项目。...,每个属性存放一个原始值,对象或函数” 1.1 属性 属性名:属性值 属性名是字符串。...2. js中对象的分类 众观整个js中的对象,可以分成三类: 内置对象 宿主对象 自定义的对象 2.1 内置对象 “由ECMA实现、不依赖于宿主环境的对象,这些对象在js程序执行之前就已经存在了”。...js有两个运行的环境: (1) 浏览器。我们在.html文件中加入js代码,再通过浏览器来打开,这里浏览器就是javascript的运行环境。 在浏览器端的js而言,宿主对象就是浏览器对象。
概述 JavaScript中: js中的对象就是生活中对象的一个抽象, 没有特征和行为,取而代之的是有对应的属性和方法; var stu = { name : '张三',...的name属性 工厂函数 传统构造函数的创建出来的对象不具备约束性和规范性,如果需要批量创建同一种对象时,会出现大量的冗余代码。...工厂模式是一种广为人知的设计模式,这种模式抽象了创建具体对象的过程,工程模式具体的实现方式是利用函数的特性封装了具体相同属性的函数。...,类型是Student 2.new 会让this指向这个新的对象 3.执行构造函数 目的:给这个新对象加属性和方法 4.new会返回这个新对象 自定义构造函数总结: 1.建议构造函数首字母要大写...2.构造函数要和new一起使用才有意义。 3.构造函数的作用是用于实例化一个对象,即给对象添加属性和方法。
JS对象,是一个名值对的无序集合。 jquery对象,是jquery特有的对象,只有调用jquery框架才存在。其实jquery对象,也是一种js对象。...jquery对象和js对象可以相互转换,例如 $("#div").get(),即可以把一个jquery对象转换为js对象。...最主要的区别,js对象上的方法,不能直接用在jquery对象上,如果一定要给jquery对象使用js对象的方法,必须把jquery对象转换为js对象。...jquery对象,则可以随意使用jquery定义的方法。
student,10,20));//30 16 console.log(myclass.getAllStudentsNumbers.apply(student,[10,20]));//30 1 //函数其实也是对象..., 28 // 这样就将属性创建到了student对象里面 2、巧妙用法 (1)Max函数用法 1 // apply的一些其他巧妙用法 2 // 细心的人可能已经察觉到,在我调用...: 9 10 // max函数用法 11 // Math.max后面可以接任意个参数,最后返回所有参数中的最大值。...=new Student("tom",13,6,"清华小学") 37 // 学生继承了人和打印对象,则拥有了人的属性和方法 38 lisi.show();//打印对象的某个方法 39 lisi.sayhello...();//人对象的某个方法 40 console.log(lisi.funcName);//我是打印对象
自调用函数 1.什么是自调用函数:函数自己调用自己 最常见的:匿名函数自调用 2.自调用函数作用 开辟作用域,js中只有函数才可以开辟作用域 3.匿名函数自调用语法:( function(){} )...() 将整个函数使用小括号包裹,然后在后面再加上小括号调用 //补充:其实有名字的函数也可以自己调用自己,只是比较少见 03-对象(语法学习) 3.1-对象介绍 对象作用:一个变量存储多个数据 对象与数组异同点...,而是age变量未声明 var age = 111; console.log(person[age]);// 程序报错 3.5-对象遍历 对象的遍历 : 获取对象的每一个属性值...2.复习数组的遍历语法 固定的for循环: for(var i = 0;i<数组.length;i++){ 数组名[i] } 3.对象无法使用数组的遍历语法,对象的遍历有专用的for循环结构...32 3.7-对象的另一种声明方式 //1.
、单独的js文件 3、局部作用域 在函数内部作用 var a = 10 function test() { var b = 20...、预解析 (1)js解析器:预解析+代码执行 (2)变量提升:js引擎会把代码中所有的var声明提升到作用域的最顶层(函数的顶层),但是赋值不会被提升 console.log...1、性质 一组无序的相关属性和方法的集合,所有的事物都是对象(字符串、数组、数值、函数...) (1)属性:事物的特征 (2)方法:事物的行为 2、作用 可以保存一个值的变量、多个值的数组、一个人的信息...:特殊的函数,用来初始化对象 function 构造函数名(参数1,参数2...){ this.属性名 = 值 //this:解析器每次在调用函数的时候都会想函数的内部传递一个隐含的参数 ...1、JavaScript对象分为 自定义对象、内置对象、浏览器对象 2、内置对象 js语言自带的对象,供开发者使用,提供一些常用的,基本的属性和方法,帮助快速开发 3、参考文档 JavaScript
一、函数即对象 1 function add1(a,b){ 2 return a+b; 3 } 4 5 //Function对象的实例 -- 高级技巧 --...(add1(1,2));//3 11 console.log(add2(1,2));//3 二、arguments---保存函数的参数 1 //arguments 重要 2 function...7 //arguments是一个数组,保存函数的参数 -- 准确的说是伪数组 8 add();//0,undefined 9 add(1);//1,1 10 add...范冰冰',2,3);//3,范冰冰 12 add('李彬彬',2,2,3);//4,李彬彬 三、Length属性---实参、形参 1 // 什么是形参 什么是实参 2 // 形参:函数定义的时候的参数...3 // 实参:用户调用函数的时候传递的参数 4 // length指的是实际参数个数 arguments.length指的是形参个数 5 function checkVarCount
领取专属 10元无门槛券
手把手带您无忧上云