相关疑难解决方法(0)

订阅Redux商店中的单一房产变更

在Redux中,我可以轻松订阅商店更改

store.subscribe(() => my handler goes here)
Run Code Online (Sandbox Code Playgroud)

但是,如果我的商店充满了不同的对象,并且在我的应用程序中的某个特定位置,我想订阅仅在商店中的特定对象中进行的更改?

react-native redux-framework redux

50
推荐指数
3
解决办法
4万
查看次数

JavaScript:获取参数值和传递变量的名称

我想要做的就是传递给函数的变量的名称该变量的值,并且只在一个变量传递给函数.所以:

var x = "anything";

function showName() {

}

showName(x);
Run Code Online (Sandbox Code Playgroud)

要么

showName("x");
Run Code Online (Sandbox Code Playgroud)

将返回:"x =任何东西".

现在,我必须指定变量两次:

showName("x", x);
Run Code Online (Sandbox Code Playgroud)

为了获取我传入的变量的名称和值.

请注意,我对showName原型中的参数名称不感兴趣,但是对调用函数中的变量名称不感兴趣.另外,传递的变量可能是本地的,所以我不能使用window对象来查找变量.

javascript arguments

46
推荐指数
3
解决办法
5万
查看次数

Javascript:参数数组是否已被弃用?

大多数网站都说"callee"作为Function.arguments的属性已被弃用.但有些网站更进一步,并说整个Functions.argument已被弃用,例如http://aptana.com/reference/api/Arguments.html为什么只提到被叫者,如果整个程序在水中已经死了?我只是发现了"论点",看起来非常有用,例如:http://hungred.com/how-to/secret-arguments-array-javascript/

javascript arguments optional optional-arguments

30
推荐指数
2
解决办法
6044
查看次数

是否有可能反映Javascript函数的参数?

是否有可能将Javascript函数的所有参数都写入接受?(我知道所有Javascript函数参数都是"可选的")?如果没有,是否可以获得参数的数量?例如,在PHP中,可以使用:

$class = new ReflectionClass('classNameHere');
$methods = $class->getMethods();
foreach ($methods as $method) {
    print_r($method->getParameters());
}
Run Code Online (Sandbox Code Playgroud)

...或类似的东西,我有一段时间没有碰过PHP,所以上面的例子可能不正确.

提前致谢!

编辑:不幸的是,我必须能够在函数体外获取参数...对不起澄清,但感谢您当前的答案!

javascript reflection methods

24
推荐指数
3
解决办法
1万
查看次数

检查JavaScript函数的定义/执行中的参数的名称/值

我希望inspect.getargspec()在Javascript中使用相当于Python的东西.

我知道你可以arguments从Javascript函数中获取列表,但我真正想要的是来自最初定义的函数的参数的名称.

如果这实际上是不可能的,我将不得不通过获取函数的字符串来"强制"它,即myFunc.toString()然后解析出...内部的函数function myFunc(...).有谁知道如何以一般方式进行解析?

谢谢你的任何提示.

javascript arguments inspection

19
推荐指数
2
解决办法
6333
查看次数

获取函数的默认值?

有没有办法在JavaScript中检索函数的默认参数值?

function foo(x = 5) {
    // things I do not control
}
Run Code Online (Sandbox Code Playgroud)

有没有办法获得x这里的默认值?最理想的是,像:

getDefaultValues(foo); // {"x": 5}
Run Code Online (Sandbox Code Playgroud)

请注意,toString该函数不起作用,因为它会在非常量的默认值上中断.

javascript default-arguments ecmascript-6

15
推荐指数
2
解决办法
743
查看次数

如何在JavaScript中区分getter和setter以及plain属性?

如何以编程方式识别ES5中的getter和setter属性?

var o, descriptor, descriptorGetter, descriptorSetter;

o = { 
  foo: 'foo',
  get bar() {
    return 'bar';
  },
  set bam(value) {
    this._bam = value;
  },
};

descriptor = Object.getOwnPropertyDescriptor(o, 'foo');
descriptorGetter = Object.getOwnPropertyDescriptor(o, 'bar');
descriptorSetter = Object.getOwnPropertyDescriptor(o, 'bam');

console.log(JSON.stringify(descriptor));
console.log(JSON.stringify(descriptorGetter));
console.log(JSON.stringify(descriptorSetter));
Run Code Online (Sandbox Code Playgroud)

打印:

{"value":"foo","writable":true,"enumerable":true,"configurable":true}
{"enumerable":true,"configurable":true}
{"enumerable":true,"configurable":true}
Run Code Online (Sandbox Code Playgroud)

javascript

11
推荐指数
1
解决办法
459
查看次数

是否可以在ASP.NET MVC4中将输出标记为C#或VB函数作为Javascript?

我有一个HtmlHelper扩展方法,它将javascript回调函数作为参数..例如:

@Html.SomethingCool("containerName", "jsCallbackFunction")

<script type="javascript">
    function jsCallbackFunction(e, i) {
        alert(e.target.name + ' / ' + i);
    }
</script>
Run Code Online (Sandbox Code Playgroud)

如您所见,javascript回调函数名称将传递给HtmlHelper扩展方法.这导致开发人员必须返回文档以确定jsCallbackFunction函数需要哪些参数.

我更喜欢这样的东西:

@Html.SomethingCool("containerName", New SomethingCoolCallbackDelegate(Address Of jsCallbackFunction))

<OutputAsJavascript>
Private Sub jsCallbackFunction(e, i)
    '    SOMETHING goes here.  some kind of html dom calls or ???
End Sub
Run Code Online (Sandbox Code Playgroud)

SomethingCoolCallbackDelegate将提供目标函数的代码契约.然后编译器会在MVC页面上将jsCallbackFunction编译为javascript.

.NET 4/ASP.NET MVC 4/Razor 2中是否有这样的内容?或任何其他可以实现类似的技术?

示例在VB中,但C#中的解决方案也是可以接受的.

澄清:

@gideon:注意jsCallbackFunction两个参数e,和i.但是,HtmlHelper扩展方法只是要求一个字符串(javascript回调函数的名称),并不指示此函数可能采用的参数.我试图解决的问题是双重的.

  • 首先,缺少参数提示.传递代替"javascript回调名称"字符串的.NET委托类型将实现此目的.我愿意接受其他解决方案来实现这一目标.我知道XML注释.它们并不是真正的解决方案.

  • 其次,尝试让页面编程人员使用单一语言.在javascript和VB(或js和C#)之间切换需要(对我来说至少)昂贵的上下文切换.我的大脑没有快速过渡.让我在VB或C#中工作更具生产力和成本效益.因此,能够在.NET语言中编写函数并将其编译为javascript,在ASP.NET MVC/razor视图的上下文中,就是我在这里所追求的.

@TyreeJackson:我会编写一个输出html和javascript SomethingCoolHtmlHelper扩展方法.部分javascript输出需要调用用户(程序员) - 提供的函数来做出一些决定.可以认为它类似于您为ajax调用提供的成功或失败功能.

javascript c# vb.net asp.net-mvc-4 razor-2

10
推荐指数
1
解决办法
281
查看次数

正则表达式从函数定义中获取参数列表

可能重复:
如何从javascript动态获取函数参数名称/值

我正在研究javascript(node.js)中的一个项目,我试图从函数中获取一个参数名称数组(NOT值,我不需要参数).我目前正在使用Function.toString()获取函数字符串,然后运行正则表达式以获取我的参数列表.

我们来看下面的简单示例:

var myFunction = function (paramOne, paramTwo) { ... }
Run Code Online (Sandbox Code Playgroud)

运行我的正则表达式,然后做一些字符串魔术(拆分等),我希望像这样的数组:

paramList = ['paramOne', 'paramTwo']
Run Code Online (Sandbox Code Playgroud)

我有一些有用的东西,但我觉得它可能不是最好的解决方案给定一些时髦的字符javascript允许你使用变量名称和javascript将让你在多行定义功能.

这是我目前拥有的:

function.*[\w\s$]*(\((.*[\w\s,$]*)\))
Run Code Online (Sandbox Code Playgroud)

这给了我第1组中的"匹配",然后是第2组中没有任何parens的参数列表,这很酷.这真的是做我想要的最好的方式吗?我可以使用更好的正则表达式吗?我并不是在寻找"更简单"的东西,而是真正能够捕捉到所有可能情况的东西.

任何帮助将不胜感激,并提前多多感谢!

javascript regex

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

发射装饰器元数据及其在转译代码中的重要性

我很好奇该emitDecoratorMetadata选项在将 TypeScript 转换为 JavaScript(在 Angular 2 上下文中)的重要性。如果设置为false,并且元数据将不会包含在生成的代码中,它会产生什么影响?

decorator typescript angular

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