首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CanvasRenderingContext2D的Lis性质

CanvasRenderingContext2D的Lis性质
EN

Stack Overflow用户
提问于 2016-01-26 13:19:38
回答 1查看 93关注 0票数 0

嗨,我想列出CanvasRenderingContext2D对象的所有方法和属性。我继承了列表方法,但是当我试图列出属性时,我得到了奇怪的结果。我得到的只是同一个属性的一个数组重复多次。有人能帮我吗?

代码语言:javascript
复制
var canvas = document.querySelector('#canvas');
var ctx = canvas.getContext('2d');

 var methods = [];
        for (var m in ctx) {
            if (typeof ctx[m] == "function") {
                methods.push(m);
                methods.join(',');
            }
        }
        var methodsContainer = document.querySelector('#methods');
        for(var i = 0; i < methods.length; i++) {
            var opt = methods[i];
            var el = document.createElement("option");
            el.textContent = opt;
            el.value = opt;
            methodsContainer.appendChild(el);
        }
  var properties = [];
        for (var key in ctx) {
            if (Object.getOwnPropertyNames(ctx)) {
                properties.push(m);
                properties.join(',');
            }
        }

        var propertiesContainer = document.querySelector('#properties');
        for(var i = 0; i < methods.length; i++) {
            var opt = properties[i];
            var el = document.createElement("option");
            el.textContent = opt;
            el.value = opt;
            propertiesContainer.appendChild(el);
        }
代码语言:javascript
复制
  <canvas id="canvas"></canvas> 
  
  <h5>Methods</h5>
  <select id="methods">

  </select>
  <br/>
  <h5>Properties</h5>
  <select id="properties">

  </select>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-26 13:22:16

这一行(在声明属性变量之后):

代码语言:javascript
复制
for(var i = 0; i < methods.length; i++) {

应:

代码语言:javascript
复制
for(var i = 0; i < properties.length; i++) {

当您应该循环属性时,您需要循环该方法有值的次数

这一行还包括:

代码语言:javascript
复制
for (var key in ctx) {
        if (Object.getOwnPropertyNames(ctx)) {
            properties.push(m);
            properties.join(',');
        }
    }

当你想按“键”的时候,你是在推m变量

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35014755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档