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

    JavaScript——对象的属性

    在JavaScript中,所有的对象都是一组属性的集合,属性可以是数值,字符串等原始类型,也可以是函数,或者是其他对象。 属性的类型 JavaScript中的属性有两种类型:数据属性和访问器属性。...对象限制 ES5中提供了一系列限制对象被修改的方法,按限制程度由低到高,依次有禁止扩展,密封,冻结三种模式。当然,即使是冻结模式,访问器属性的set方法仍然可正常动作,表现出来就是该属性值仍可修改。...禁止扩展对象 通过Object.preventExtensions()方法可以禁止将对象进行扩展,禁止扩展后的对象无法: 添加新的属性 但可以: 删除已有的属性 改变已有属性的特性 修改已有数据属性的值...(如果该属性可写) 修改已有访问器属性的值(如果有set方法) 密封对象 通过Object.seal方法可以将对象进行密封,密封后的对象无法: 添加新的属性 删除已有的属性 改变已有属性的特性 但可以...修改已有数据属性的值(如果该属性可写) 修改已有访问器属性的值(如果有set方法) 冻结对象 通过Object.freeze方法可以将对象进行冻结,冻结后的对象无法: 添加新的属性 删除已有的属性 改变已有属性的特性

    2.4K30

    【JavaScript】对象 ② ( 对象使用 | 调用对象属性 | 调用对象方法 | 变量与属性区别 | 函数与方法区别 )

    / 中括号 / 大括号 作用 ) 中 , 介绍了 使用 字面量 创建对象 , 有如下要点 : 键值对 : 对象字面量 中的 属性 和 方法 都是以 " 键值对 " 的形式存在的 , 键 对应 属性名称..., 值 对应 属性值 ; 逗号隔开 : 多个 表示 属性 和 方法 的 键值对 之间 使用逗号隔开 ; 对象方法 : 表示 方法名称 的 键 后面的 冒号 后面 写一个 " 匿名函数 " , 如 :...) 的方式 , 调用对象方法 ; // 调用对象方法 - 对象名.方法名() person.hello(); 完整代码示例 : <!...并赋值 , 可以使用 变量名 单独使用 ; 属性 在 对象中 , 不需要声明 , 但是在使用时 , 必须 用 对象名.属性名 或者 对象名[属性名] 的方式使用 ; 三、函数与方法区别 函数与方法相同点...对象名.方法名() 的方式使用 ;

    12910

    javascript对象属性的赋值解析

    age: 12} Dog.prototype = Animal; var dog2 = new Dog(12); console.log(dog2);//{age: 12} dog2对象的...name属性不见了,why?...概念: 在segmentfault社区找到相关概念: 当为一个对象属性赋值是要遵循以下规则: 当对象的原型链中的原型对象上有对应的属性名,但是其是只读的,那么对象属性的赋值操作无效; 当对象的原型链中的原型对象上有对应的属性名...,但是其是可写的,且设置了set方法,那么对象属性的赋值操作无效,转而调用调用原型对象中的属性的set方法; 当对象的原型链中的原型对象上有没有对应的属性名,那么直接在当前对象上添加这个属性(如果没有这个属性...'name'只读,所以再次赋值无效 //通过知道属性只读,对象属性赋值操作无效,那么我们可以更改name的property-wirteable为true,如下 Object.defineProperty

    1.8K30

    JavaScript之面向对象的概念,对象属性和对象属性的特性简介

    一、大家都知道,面向对象语言有一个标志,那就是他们都有类的概念,通过类我们可以创建任意多个具有相同属性和方法的对象。...但ECMAScript(指定JavaScript标准的机构,也就是说JavaScript是实现其标准的扩展)并没有类的概念,因此他的对象和基于类的语言中的对象有所不同,ECMAScript把对象定义为:...严格的来说,这就相当于说对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。...应为ECMA-262规范中提到属性的特性是为了实现JavaScript引擎所用到,所以我们不能通过JavaScript直接访问,但是JavaScript给我们提供了了一个方法,来操作我们需要操作的对象的属性的特性...;这个方法是 //这个方法接收三个参数:属性所在的对象引用、属性的名字和一个描述符对象 //其中描述符对象的属性必须是上面提到的四个属性的特性(实现JavaScript引擎所用

    2.3K60

    前端开发:javascript对象中定义私有属性的另类方法

    私有变量作用为了在对象创建过程中变量不会被外部访问,如果要访问只能通过属性或定义方法方式来实现。...在c#和Java中定义私有属性通过private关键词即可,那么在javascript中如何定义私有变量呢?下面就说一种比较另类的方法。...为什么这里说另类呢,有两点不同: 1、新创建对象的实例方法不引用 this 2、不使用 new 操作符调用构造函数。...下面直接上代码: function Person(name, age, job){ //创建要返回的对象 var o = new Object(); //可以在这里定义私有变量和函数 //添加方法...即使有其他代码会给这个对象添加方法或数据成员,也不可能有别的办法访问传入到构造函数中的原始数据。 此例仅为展示一些基本技巧,欢迎大家转发和关注。

    1.3K20

    JavaScript之面向对象学习二(原型属性对象与in操作符)获取对象中所有属性的方法

    观察上面的代码我们发现,当in操作符单独使用的时候有一个规律如下: 属性    in   对象的实例 他的用法就是:判断这个属性能否被对象的实例所访问到,如果对象实例能访问到属性返回true,如果不能返回...false; 注意:这里的属性可以是对象实例的属性,也可以是对象实例的[[Prototype]]属性指针,所指向的原型对象; 下面是结合Object.hasOwnProperty()和in判断一个属性到底是实例属性...()方法被打上了值为false的[[Enumerable]]标记(所以该属性无法被循环),因此应该跳过该属性,所以我们就看不到警告框,所以该bug会影响默认不可枚举的所有属性和方法,包括:hasOwnProperty...3、使用Object.keys()方法获取指定对象中所有可枚举的实例属性 ECMAScript 5中提供了Object.keys()方法。...这个方法接收一个对象作为参数,返回一个包含所有可枚举属性的字符串数组,代码如下: function Person(){ } Person.prototype.name="张三";

    1.6K90

    JavaScript对象属性是有序的吗?

    最近有人问我,JavaScript对象属性是否一定是无序的、不可预测的?...早期接触过JavaScript的开发者可能会回答,Object.keys()或for...in会返回一个不可预知的对象属性顺序。 但现在的情况仍然是这样吗? 不是了,有些情况下是有序的。...String 属性一样,是按照属性创建的时间顺序升序排列的。...但是Object.key, for...in, Object.getOwnPropertyNames方法不能获得对象的 Symbol 属性,Reflect.ownKeys和 Object.getOwnPropertySymbols...总结 当一个对象的属性键是上述类型的组合时,该对象的非负整数键(可枚举和不可枚举)首先按升序添加到数组中,然后按插入顺序添加字符串键。最后,Symbol 键按插入顺序加入。

    1.5K30

    【JavaScript】内置对象 ② ( JavaScript 技术文档查询 | MDN 文档简介 | MDN 文档查询方法 | 查询对象描述 | 查询对象属性 | 查询对象方法 )

    的 内置对象 , 此时会弹出下拉菜单 , 在下拉菜单中会有 JavaScript 对应的 Math 文档 , 点击第一个 选项即可 ; 点击后 , 进入 Math 内置对象的 页面 https://developer.mozilla.org..., 常量 , 方法 等介绍 ; 点击页面右上角的语言选项 , 可以切换语言 , 选中 中文(简体) 即可切换成中文 ; 3、查询对象描述 查询 Math 内置对象 , 在 Math 文档的主页 https..., 首先显示的就是文档描述 ; 之后依次显示的项目是 : 描述 属性 方法 规范 浏览器兼容性 参见 点击页面右侧的 标题导航 , 可以快速跳转到指定位置 ; 4、查询对象属性 点击 Math 文档页面右侧的...属性 导航链接 , 可以快速跳转到属性区域 ; 点击 属性中的 Math.PI 可以跳转到对应的 属性 文档页面 , https://developer.mozilla.org/zh-CN/docs/...Web/JavaScript/Reference/Global_Objects/Math/PI 在该页面中显示具体属性的 描述 , 示例 , 规范 等信息 ; 5、查询对象方法 点击 Math 文档页面右侧的

    11810

    了解JavaScript对象的特殊属性

    理解对象 面向对象最常见的方式就是类,定义一个类之后,由它创建的对象都拥有从类继承而来的方法与属性。然而 JavaScript 里面,至少在 ES6 之前是没有 class的概念的。...所以它的对象与传统类的对象还是有区别的。...,接受三个参数,参数1 为要修改的对象,参数2 为修改的对象,参数3 可以指定多个特殊值的值 如果是对已有属性操作,则改变相应的特殊值就行 如果没有该属性,则认为是通过该方法添加新属性,此时应该显式的定义各项值...false,writable 为 false;所以不许修改其值 Object.defineProperties(Great,{ name: { writable: false, //将此属性设为不可更改...: 属性名 -> 这是通常的报错信息,表示不能重新定义特殊属性 获取对象属性的特殊属性值 Object.getOwnPropertyDescriptor() 接受两个参数,参数1位对象,参数2为属性值

    73210

    XMLHttpRequest对象的属性和方法

    XMLHttpRequest对象的属性: (1)readyState属性 该属性代表请求的状态,当XMLHttpRequest对象把一个HTTp请求发送到服务器端时,会经历若干状态,一直等待直到请求被处理...,指向一个JavaScript函数 status 服务器的HTTP状态码 statusText HTTP状态码的相应文本 responseText 服务器的响应,通常为一个字符串 responseXML...服务器的响应,通常为一个XML,可以解析为一个DOM对象 readyState 请求状态 readyState属性值 说明 0 未初始化状态,此时已创建了一个XMLHttpRequest对象,但是还没有初始化...对象相联系的HTTP请求,从而把对象福味道未初始化装填 (2)open(DOMString method,DOMString uri,Boolean async,DOMString username,DOMString...参数指定了请求是否是异步的,其默认值是true。如果想发送一个同步请求,则需要把这个值设置为false。在调用open()方法后,XMLHttpRequest对象会将它的readyState属性设置为1

    1.5K10
    领券