【问题标题】:Javascript Function not working in EdgeJavascript函数在Edge中不起作用
【发布时间】:2021-02-23 18:38:38
【问题描述】:

我在 Javascript 中创建了一个函数

function addName(okDelete = true){

	amountExtraStudents++;
	if(amountExtraStudents > 2){
	
		preisAktuell = 60;
	
	}
	if(!okDelete){
		jQuery('#teilnehmerExtra').append('<div class="teilnehmer-1"></div>');
	}else{
		jQuery('#teilnehmerExtra').append('<div class="teilnehmer-2"></div>');
	}
	eintragNummer++; 
	updateButtons();
	
}

但在 Edge 中我收到此错误:

在 Safari 中,我没有收到任何错误 - 但函数 - 以及脚本块其余部分中的所有其他函数都不起作用。

它在 Chrome、Firefox 和 Opera 中运行良好,但在 Safari、IE 和 Edge 中却不行……

浏览器有什么不兼容的地方吗?

【问题讨论】:

  • 为什么你有一个表达式作为参数?
  • 在 ES6 中它是好东西,但在此之前的任何东西都不好。 @SimonSchüpbach
  • 如果没有给出参数,是不是可以设置“标准”值?
  • 应该只在 Chrome 或 FF 中工作,对它在 Safari 中工作感到惊讶吗? developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
  • @chillNUT - 它在 Safari 中不起作用!周围有什么工作吗?

标签: javascript internet-explorer microsoft-edge


【解决方案1】:

当您使用“default parameters”功能introduced in ES6 时发生错误。边does not support it

ES5 版本应该是:

function addName(okDelete){
    if (typeof okDelete === "undefined") {
        okDelete = true;
    }

您也可以考虑使用诸如Babel 之类的工具将您的 ES6 转换为 ES5。

【讨论】:

  • 正在编辑我的答案而没有意识到你打败了我,哎呀! +1,这就是 OP 想要的答案。
  • 非常感谢!这很好 - 我不知道,这在 ES5 中是不可能的...... :)
猜你喜欢
  • 1970-01-01
  • 2020-06-04
  • 2020-05-20
  • 2016-09-19
  • 1970-01-01
  • 2018-09-26
  • 1970-01-01
  • 1970-01-01
  • 2011-08-31
相关资源
最近更新 更多