我想弄清楚为什么在对象文本的箭头函数被调用window为this.有人可以给我一些见解吗?
var arrowObject = {
name: 'arrowObject',
printName: () => {
console.log(this);
}
};
// Prints: Window {external: Object, chrome: Object ...}
arrowObject.printName();
Run Code Online (Sandbox Code Playgroud)
一个按预期工作的对象:
var functionObject = {
name: 'functionObject',
printName: function() {
console.log(this);
}
};
// Prints: Object {name: "functionObject"}
functionObject.printName();
Run Code Online (Sandbox Code Playgroud)
根据巴贝尔REPL的说法,他们被描述为
var arrowObject = {
name: 'arrowObject',
printName: function printName() {
console.log(undefined);
}
};
Run Code Online (Sandbox Code Playgroud)
和
var functionObject = {
name: 'functionObject',
printName: function printName() {
console.log(this);
}
};
Run Code Online (Sandbox Code Playgroud)
为什么没有arrowObject.printName();被arrowObject …
javascript object-literal ecmascript-6 babeljs arrow-functions
我试图找到素数<2,000,000的总和.这是我在Java中的解决方案,但我似乎无法得到正确的答案.请对可能出现的问题提供一些意见,并对代码的一般建议表示赞赏.
打印'sum'给出:1308111344,这是不正确的.
编辑:感谢您的帮助.将int更改为long和<to <=并且它完美无缺,除了是找到素数的低效方法:)
/*
The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
Find the sum of all the primes below two million.
*/
class Helper{
public void run(){
Integer sum = 0;
for(int i = 2; i < 2000000; i++){
if(isPrime(i))
sum += i;
}
System.out.println(sum);
}
private boolean isPrime(int nr){
if(nr == 2)
return true;
else if(nr == 1)
return false;
if(nr % 2 == 0)
return false;
for(int …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Primefaces过滤dataTable,就像这个例子一样.(在网络浏览器中)我输入我想要过滤的文本,它可以工作一次,但是当我删除我写的文本时,结果会保持不变,因为它应该回到它的原始状态.
所以它工作一次然后不会回应.(我可以删除或重新输入我编写的过滤器文本,但它不再影响表格)
对于代码中奇怪的属性名称感到抱歉,请耐心等待.:)
XHTML页面:
<h:form>
<p:dataTable var="aggr" value="#{aggregationManagedBean.logiskAdressatModel}"
widgetVar="aggrTable"
emptyMessage="No aggr found with given criteria">
<f:facet name="header">
<p:outputPanel>
<h:outputText value="Filter:" />
<p:inputText id="globalFilter" onkeyup="aggrTable.filter()" />
</p:outputPanel>
</f:facet>
<p:column filterBy="#{aggr.name}">
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
<h:outputText value="#{aggr.name}" />
</p:column>
</p:dataTable>
</h:form>
Run Code Online (Sandbox Code Playgroud)
支持豆:
@ManagedBean
@SessionScoped
public class AggregationManagedBean {
private List<LogiskAdressat> logiskaAdressater;
private DataModel<LogiskAdressat> logiskAdressatModel;
public AggregationManagedBean() {
logiskaAdressater = getLogiskaAdressater();
logiskAdressatModel = new ListDataModel<LogiskAdressat>(logiskaAdressater);
}
private static List<LogiskAdressat> getLogiskaAdressater(){
List<LogiskAdressat> logiskaAdressater = new ArrayList<LogiskAdressat>();
logiskaAdressater.add(new LogiskAdressat("01 addr_id 01", …Run Code Online (Sandbox Code Playgroud) 我在编辑表格时遇到了一些问题 <p:rowEditor>
我encoding='windows-1252'用来能够使用瑞典字符 (å, ä, ö).创建一个实体工作正常但是当我在<p:dataTable>使用<p:cellEditor>它时编辑它提交意外的字符.(如果我输入"åäö"并保存编辑(使用p:celleditor),则数据库中的表包含"åäö").
我的xhtml页面如下所示:
<?xml version='1.0' encoding='windows-1252' ?>
<!DOCTYPE html>
<html...
Run Code Online (Sandbox Code Playgroud)
我尝试过使用字符编码过滤器:
public class CharacterEncodingFilter implements Filter {
private static String ENCODING = "windows-1252";
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding(ENCODING);
response.setCharacterEncoding(ENCODING);
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig config) throws ServletException {
}
}
Run Code Online (Sandbox Code Playgroud)
但无济于事.为什么incell编辑帖子使用不同的字符编码?
使用:
在浏览了很多关于SO的类似问题之后,我仍然无法迭代我的json结构.如何获得内部数组的值(键)?
var data = {"User1":{"Service1":2,"Service2":1},"User2":{"Service3":1}}
for(var user in data) {
document.write(user + ': ')
for(var service in data[user]){
document.write(service + ': ' + user[service])
}
document.write("<br />")
}
Run Code Online (Sandbox Code Playgroud)
这打印:
User1:Service1:undefined Service2:undefined
User2:Service3:未定义
而且我想要它打印
User1:Service1:2 Service2:1
User2:Service3:1
是javascript还是我需要jQuery?提前致谢!
java ×3
javascript ×2
primefaces ×2
arrays ×1
babeljs ×1
datatable ×1
ecmascript-6 ×1
filter ×1
jsf ×1
jsf-2 ×1
json ×1
loops ×1
math ×1
mojibake ×1
primes ×1