首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS面向对象

    JS面向对象 理解对象 数据(数据描述符)属性 数据属性有4个描述内部属性的特性 [[Configurable]] 表示能否通过delete删除此属性,能否修改属性的特性,或能否修改把属性修改为访问器属性...writable: true //} 各种场景下描述符属性的的扩展示例讲解 . configurable 如果设置configurable属性为false,则不可使用delete操作符(在严格模式下抛出错误...), 修改所有内部属性值会抛出错误,在《javaScript高级教程中》说只可以改变writable的值,现在改变writable的值也会抛出错误对象中添加一个数据描述符属性 var person...再给obj.a赋值时,执行set方法,b的值被修改为2,额外说一句,vue中的计算属性就是利用setter来实现的 注意: 1.getter和setter可以不同时使用,但在严格模式下只其中一个,会抛出错误...input2"> 我每次比input1的值加1=> js

    7.3K20

    js对象

    课程目标: 1.掌握面向对象的基本操作. 2.掌握构造函数的优化策略. 3.创建对象的方式. 1.创建对象的三种方式: <!....方法名=function() { //输出内容 } let 对象名=new Object(); 对象名.属性; 对象名.方法名(); //第二种方式: let 对象名={}; 对象名.属性名=属性;...对象名.方法名=function() { 输出内容 } //第三种方式: let 对象名={ 属性名:属性值, 方法名:function() { 输出内容 } }; 总结: 记住,对象有属性&&方法才能叫做对象...方法是对象调用的 效果: ? 工厂函数 <!...1.调用对象是一样的,比如我爱你。他也爱你.是不是爱的是一个人啊。 2.调用构造函数是不一样的,为什么,因为他是类中的。类是一个整体不是个体啊. 效果: ? <!

    6.8K10

    JS面向对象

    面向对象和面向过程区别面向对象是把构成问题的事物拆解为各个对象,来描述这个事物在当前问题中的行为,而不是为了实现某个步骤 面向过程,是分析出实现问题的每个步骤,然后编写函数,并依次调用。...面向对象特点封装 让使用的人不考虑内部实现,只考虑功能使用,把内部代码保护起来,提供api接口让用户调用继承 从父类继承出一些方法和属性,利于代码复用多态 不同对象作用于同一操作产生不能效果JS三大对象宿主对象所有非本地对象都属于宿主对象所有...DOM和BOM对象都属于宿主对象嵌入到网页的JS来说,宿主对象就是浏览器提供的,比如:Window和Documnet等本地对象包括:Object、Array、Date、RegExp、Boolean、Number...、String这些引用类型在运行过程中需要通过new来创建所需的实例对象内置对象是本地对象的子集在ECMAScript程序开始执行前就存在,本身就是实例化内置对象,开发者无需再实例化内置独享有Global...构造函数/创建实例 通过this添加的对象和属性都指向当前对象,所以在实例化的时候,通过this添加的方法和属性都会在内存中复制一份。

    10810

    js对象属性

    这个要和new关键字有关了,其关键的四个步骤是创建新的对象,然后构造函数的作用域指向新对象(this指向新对象),执行构造函数中的代码,返回新对象。所以自然通过this赋值的都是新对象的属性了。...2 继承原型要在实例化对象之前,写在调用之前是无效的。...(let p in zhangsan){ console.log(zhangsan.hasOwnProperty(p),`${p}:${zhangsan[p]}`) } 参考代码 codepen关于js...对象自身可枚举,不含 Symbol 属性 Object.getOwnPropertyNames(obj) 返回一个数组,包含对象自身的所有属性(不含 Symbol 属性,但是包括不可枚举属性)的键名 对象自身...对象自身,全部属性 属性中的this是什么 来源 指向 对象 对象自身 构造函数 返回新对象 原型 原型 纯函数调用 外部环境全局,浏览器或者node 访问器get,set使用 一般我们也用不到这个

    15.6K10

    js常见错误总结

    不能把Symbol类型转换为数字,否则报错 parseFloat、parseInt parseFloat比parseInt多识别一位小数点 字符串拼接 只要加号两边的任意一边出现字符串,则变为字符串拼接 对象转数字时需要先转换为字符串...不再转为数字 条件判断里的相互转换规则 null、undefined、NaN null和undefined不等于任何一个数据类型 null == undefined NaN和其他值永不相等 规律 字符串和对象比较...,把对象转换为字符串 剩下的只要数据类型不同,都是先转换为数字类型,再比较 webkit底层运行机制 底层渲染过程 在浏览器中打开页面,浏览器引擎会渲染相关的代码(包含JS代码),换句话说,会把代码自上而下执行...Context Stack执行环境栈)=>栈内存Stack 最开始执行的是全局代码,所以会形成一个EC(GLOBAL)全局上下文,在栈内存中执行全局的代码 在全局的执行上下文中有一个VO(GLOBAL)全局变量对象...让变量和地址关联 执行依赖条件 栈内存 供代码执行的上下文 fn() // 1.创建一个全新的执行上下文,把执行上下文压缩到栈内存中去执行(进栈执行) // 2.在这个上下文中,也存在一个AO(变量对象

    1.6K20

    js常见错误总结

    全局对象和全局变量对象 全局对象GO 是浏览器天生自带的存储属性和方法的堆,是一个对象 全局变量对象VO 是我们代码创建的变量要存储的地方,是栈内存 全局执行上下文 带var 带var是创建一个全局变量...,存放在全局变量对象VO中 基于var创建变量,会给VO和GO中各自存储一份 不带var 不带var创建的不是变量,而是全局对象GO的一个属性 输出顺序 先看是否为全局变量对象VO 再看是否为全局对象GO...浏览器就可以把它释放了 var与let 重复声明 在当前上下文中,不管用什么方式,只要声明了这个变量,都不能基于let重复声明,会报错 是否重复声明,并不是在代码执行阶段检测的,而是在词法解析的阶段检测的 词法错误...SyntaxError在词法解析阶段报错,当前代码不会执行 语法错误ReferenceError在代码执行阶段报错,报错前的代码会执行 window属性 let声明的变量仅仅是全局变量,和GO没关系 var...(这个对象就是当前类的实例) – 浏览器默认多做的事情 让当前上下文中的this指向新创建的对象 – 浏览器默认多做的事情 代码执行 代码执行完,如果没有设置return浏览器默认会把新创建的实例对象返回

    1.9K40
    领券