JavaScript对象获取属性的方法(.和[]方式)

js对象获取属性有两种方法:1.通过.的方式  2. 通过[]方式

// 通过.方式获取属性值,key是静态的
var aa = {name: "zhang", age: 18};
console.log(aa.name);

// 通过[]获取属性值, key是动态的,可以是字符串,或者数字的形式
var bb = {"apple": 3, "pear": 2}
var cc = {1: "number1", 2: "number2"}
console.log(bb["apple"]);
console.log(cc[1]);  // 注意这里的写法跟数组容易混淆,cc仍是对象,不是数组

// 获取对象所有key的方法
console.log(Object.keys(bb));  // 输出[ ‘apple‘, ‘pear‘ ]

那什么是静态什么是动态?

前言:

今天封装了一个函数,发现写的时候用 [ ] 就可以, . 就不可以,就觉得非常奇怪,后来查看了一些大佬的技术博客之后,终于弄懂了这个问题,下面我跟大家分享一下。

代码:获取任意一个元素的任意属性

<style>
    *{
        margin: 0;
        padding: 0;
    }
    #box{
        width: 100px;
        height: 100px;
        background: pink;
        /* position: absolute; */
        left: 100px;
        top:50px;
    }
</style>

<body>
    <input type="button" value="按钮" id="btn">
    <div id="box"></div>
    <script>
        var box = document.getElementById(‘box‘);
        function getStyle(element,attr){
            if(window.getComputedStyle){
                return window.getComputedStyle(element,null)[attr];
            }else{
                return element.currentStyle[attr];
            }
        }
        document.getElementById(‘btn‘).onclick=function(){
            // console.log(box.offsetLeft)
            console.log(getStyle(box,‘top‘));   //50px,是一个字符串类型
        }
    </script>
</body>

注意: 以上代码若将[attr]换成.attr就获取不到了,原因就是 通过.方式获取属性值,key是静态的通过[]获取属性值, key是动态的,可以是字符串,或者数字的形式,那这里的attr是我传的参数,值是可变的,当然就不可以用.的方式获取属性值啦~小伙伴们不要采坑哦!

原文地址:https://www.cnblogs.com/yanl55555/p/12541973.html

时间: 2024-09-27 02:39:17

JavaScript对象获取属性的方法(.和[]方式)的相关文章

Javascript对象的属性及方法

以下注释中的说法相对于PHP等语言的类对象的属性及方法,因为Javascript首先没有“类”这一说法,也不存在静态非静态.属性/方法作用域这一说法. function obj() { var v = '';//私有静态属性 var f = function(){};//私有方法 } ------------------------------------ obj.v = '';//公共静态属性 obj.f = function(){};//公共静态方法 给类本身扩展属性和方法,只能通过类名访问

&lt;JavaScript&gt; 六. window对象的属性和方法

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title></title> 5 <script type="text/javascript"> 6 /* 7 BOM: Browser Object Model 浏览器对象模型 8 提供了访问和操作浏览器各组件的方式 9 10 window: 浏览器窗口 JS中最大的对象, 其它对象都是它的子对象 11 location: 地址栏 12

Javascript常用对象的属性和方法

javascript为我们提供了一些非常有用的常用内部对象和方法.用户不需要用脚本来实现这些功能.这正是基于对象编程的真正目的. 在javascript提供了string(字符串).math(数值计算)和Date(日期)三种对象和其它一些相关的方法.从而为编程人员快速开发强大的脚本程序提供了非常有利的条件. 1.常用内部对象 在javascript中对于对象属性与方法的引用,有两种情况:其一是说该对象是静态对象,即在引用该对象的属性或方法时不需要为它创建实例:而另一种对象则在引用它的对象或方法是

关于JavaScript的对象,属性,方法的一些理解和认识。

对象      万物皆对象,所谓的对象,就是一个实体,一个物体,对象一定是有一个名字的, 在JavaScript中有很多很多对象,这些对象天生就存在在JavaScript中,比如document就是一个对象,window也是对象.     JavaScript想调用一个对象,非常的简单,直接打它的名字即可.     在JavaScript中,每个对象是负责不一样的事情.    document负责一切和文档相关的事情:window负责一切和浏览器窗口相关的事情:console负责一切和控制台相关

javascript对象的属性,方法,prototype作用范围分析

读了篇博客感觉很有用"javascript对象的属性,方法,prototype作用范围分析"就自己写了一遍.以后自己可以用的到. 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://

JavaScript中的window对象的属性和方法;JavaScript中如何选取文档元素

一.window对象的属性和方法 ①setTimeout()方法用来实现一个函数在指定毫秒之后运行,该方法返回一个值,这个值可以传递给clearTimeout()用于取消这个函数的执行. ②setInterval()用来实现一个在指定毫毛数的时间里重复调用,返回一个值,这               个值可以传递给clearInterval()用于取消后续函数的调用. ③Document对象的location属性也引用到Location对象: window.location === docume

Python 获取对象的属性和方法—dir 函数

工作中,我们使用一些之前没用到过的模块,使用时需要了解一下这个模块中的一些类的方法或属性,怎么做呢?目前我比较常用的两款IDE“Pycharm”和“VSCode”,都可以通过先导包,然后通过“Ctrl+鼠标左键”,进入源码后观看并膜拜一下大神们的代码,当然也可以进入我们在项目中自己所定义的,然后进行快速修改,真的是很方便呢.但是有的时候,我们使用的环境没有这类的IDE,那该怎么学习我们要用的这些类方法和属性呢?方法当然很多,无论是小白,还是大神,百度谷歌大法都是比较快速和方便的.但是对于一些刚开

基于js对象,操作属性、方法详解

一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在Javascript中,已经存在一些标准的类,例如Date.Array.RegExp.String.Math.Number等等,这为我们编程提供了许多方便.但对于复杂的客户端程序而言,这些还远远不够. 与Java不同,Java2提供给我们的标准类很多,基本上满足了我们的编程需求,但是Javascript提供的标准类很

HTML DOM对象的属性和方法

HTML DOM对象的属性和方法 HTML DOM 对象有几种类型: 1.Document 类型 在浏览器中,Document 对象表示整个 HTML 文档. 1.1属性 引用文档的子节点 documentElement var html = document.documentElement; //取得对<html>元素的引用 body var body = document.body; //取得对<body>元素的引用 获取文档信息 title 通过 title 属性可以访问当前