相关疑难解决方法(0)

如何列出javascript对象的函数/方法?(它甚至可能吗?)

这个问题有意地像 这个问题.

我甚至都不知道这是否可行,我记得有些模糊地听到一些关于JS中无法枚举的属性的东西.

无论如何,简而言之:我正在js框架上开发一些东西,我没有文档,也没有简单的代码访问权限,这将非常有助于知道我可以用我的对象做什么.

javascript methods scope member-functions

10
推荐指数
2
解决办法
2万
查看次数

JSON.parse用于对象数组

Server以JSON格式返回对象数组.它看起来如此:

{"d":"[
  {\"Id\":1,\"IsGood\":true,\"name1\":\"name1dsres\",\"Name2\":\"name2fdsfd\",\"name3\":  \"name3fdsgfd\",\"wasBorn\":\"\\/Date(284011000000)\\/\"},
  {\"Id\":2,\"IsGood\":false,\"name1\":\"fdsfds\",\"name2\":\"gfd3im543\",\"name3\":\"3543gfdgfd\",\"WasBorned\":\"\\/Date(281486800000)\\/\"}
]"}
Run Code Online (Sandbox Code Playgroud)

我需要使用JSON.parse函数进行解析.我是这样做的:

   function myFunction(dataFromServer){
      var parsedJSON = JSON.parse(dataFromServer.d);
         for (var item in parsedJSON.d) {
          // how do I get the fields of current item?
      }
Run Code Online (Sandbox Code Playgroud)

此代码不起作用,它返回undefined

for (var item in parsedJSON) {
      alert(item.Id);
}
Run Code Online (Sandbox Code Playgroud)

javascript json

7
推荐指数
1
解决办法
8万
查看次数

JavaScript相当于C#的DynamicObject吗?

需要明确的是,继承DynamicObject的类(当然是C#)与JavaScript的动态变量不同。DynamicObject允许实现者以编程方式确定对象具有哪些成员,包括方法。

编辑:我知道JavaScript对象可以在运行时添加任何成员。那根本不是我在说什么。这是一个C#示例,展示了DynamicObject的功能:

public class SampleObject : DynamicObject
{
    public override bool TryGetMember(GetMemberBinder binder, out object result)
    {
        result = binder.Name;
        return true;
    }
}

dynamic obj = new SampleObject();
Console.WriteLine(obj.SampleProperty);
//Prints "SampleProperty".
Run Code Online (Sandbox Code Playgroud)

当访问obj的成员时,它将使用TryGetMember以编程方式确定该成员是否存在及其值。简而言之,成员的存在是在请求时确定的,而不是事先添加成员。我希望这可以使问题有所澄清。如果您想知道,我正在尝试确定是否有可能在JavaScript中创建对象,当在其上使用函数调用语法时,如下所示:

myAPI.uploadSomeData(data1, data2)
Run Code Online (Sandbox Code Playgroud)

uploadSomeData调用转到“ TryGetMember”之类的函数,该函数使用名称“ uploadSomeData”执行$ .ajax调用以生成URL,并且返回值是结果。

javascript c#

5
推荐指数
1
解决办法
380
查看次数

Javascript的"Object.getOwnPropertyNames"缺少属性?

我喜欢Object.getOwnPropertyNames方法.它似乎是一个从JS shell中学习对象的有用工具.

然而,令我疯狂的是,getOwnPropertyNames似乎缺少一些(注意:在我的测试中,我运行的是ECMA 5实现 - 谷歌Chrome版本28.0.1500.95).

这是一个例子:

> var x= []
undefined
> x.constructor
function Array() { [native code] }
> Object.getOwnPropertyNames(x)
["length"]
Run Code Online (Sandbox Code Playgroud)

很明显,x有很多属性!(例如https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype)

> x.push
function push() { [native code] }
> x.pop
function pop() { [native code] }
Run Code Online (Sandbox Code Playgroud)

谁能帮忙解释一下这里发生了什么?谢谢!:d

编辑:好的!我看到getOwnPropertyNames只获取手头对象的属性名称.有没有一种简单的方法来获得继承属性?或者也许唯一的方法是遍历object.constructor.prototype .__ proto__?

javascript prototype javascript-objects

5
推荐指数
1
解决办法
1502
查看次数

如何绑定到jQuery中的所有自定义事件

我知道不可能绑定到所有DOM事件,我知道你可以通过提供以空格分隔的列表来绑定到多个事件.

但是可以绑定到所有自定义事件(最好通过像'abc*'或name-space这样的通配符模式进行过滤)吗?

编辑: 为了澄清,我创建了一些响应某些自定义事件的自定义小部件.例如,它们都处理一个名为"stepReset"的事件并重置其内部模型.

在我写完这些之后,我意识到事件不会消失,所以这个电话$(body).trigger('stepReset')基本上什么也没做.因此,我正在考虑在所有小部件的父元素上添加一个伞状事件处理程序,以传播所有相关事件.

(我知道这不是一个优雅的解决方案,但我忘了用一个普通类的处理程序标记元素,所以没有简单的方法可以使用它们全部选择.)

javascript jquery javascript-events

4
推荐指数
1
解决办法
3713
查看次数

在 javascript 中从 JSON 对象中检索标签

假设我有如下 JSON 数据:

var db=[
        {"name":"John Doe","age":25},
        {"name":"John Doe 2","age":21}
       ]
Run Code Online (Sandbox Code Playgroud)

我知道如何使用 js/jquery 从 JSON 对象中检索数据。我需要的是获取标签的值,即我想从对象中检索“名称”和“年龄”。我实际上并不想检索值“John Doe”和 25(我已经可以这样做了),而是我想要标签。

假设 JSON 对象有大约 5 个数据,每个数据有 10 个字段。我需要以表格形式动态显示 JSON,我已经可以这样做了。由于 JSON 可能是任何一组值,我不知道<th></th>在表格的单元格中放置什么标签。所以我需要一种方法来获取标签。

使用伪代码:

var db=[
        {"name":"John Doe","age":25},
        {"name":"John Doe 2","age":21}
       ]    
for i in db{
    for j in db[i]{
          console.log(db[i][j].label+":"db[i][j])
    }  
}
//db[i][j].label doesn't really work
Run Code Online (Sandbox Code Playgroud)

输出应该是:

姓名:约翰·杜

年龄:25

姓名:约翰·杜

年龄:21

是否有 JavaScript 或 jQuery 函数可以这样做或其他一些方法来检索所需的数据?

javascript jquery json

4
推荐指数
1
解决办法
7534
查看次数

如何在javascript中将Object添加到数组中

我有这样的代码:

$scope.role.object_access_right = {contact:1,group:1,image:1,text:1,email_template:1,email:1,channel:1,campaign:1,invoice:1,user:1,account:1,tenant:1,}
Run Code Online (Sandbox Code Playgroud)

我这里有空数组,

$scope.access = [];
Run Code Online (Sandbox Code Playgroud)

如何将键推到空数组才能得到结果?

 $scope.access = [contact,group,text ...]
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

0
推荐指数
1
解决办法
140
查看次数

如何调用脚本标签中定义的 javascript 函数?

例子:

<script type="text/javascript">
    function test() {
        console.log("Hello world");
    }
</script>
Run Code Online (Sandbox Code Playgroud)

我该怎么称呼test()

编辑:我没有正确解释这一点。

我正在使用 node.js 的请求模块来加载包含 javascript 函数的外部 html 文件:

request.get(options, function (error, response, body) {
    if (error && response.statusCode !== 200) {
    }
    else {
        jsdom.env({
            html: body,
            scripts: ["../jquery-1.6.4.min.js"]
        }, function (err, window) {
            var $ = window.jQuery;
Run Code Online (Sandbox Code Playgroud)

我只是在寻找在“body”中调用函数的语法。

javascript node.js jsdom

-2
推荐指数
1
解决办法
4971
查看次数