在本文中,我们将带你了解TypeError:console.log.apply上的非法调用在这篇文章中,我们将为您详细介绍TypeError:console.log.apply上的非法调用的方方面面,
在本文中,我们将带你了解TypeError:console.log.apply上的非法调用在这篇文章中,我们将为您详细介绍TypeError:console.log.apply上的非法调用的方方面面,并解答显示非法调用常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的angularjs – ng-file-upload getting TypeError:使用ngf-drop进行非法调用、Chrome中的“未捕获的TypeError:非法调用”、console.log.apply的问题、Discord.js - TypeError:client.on 不是函数。
本文目录一览:- TypeError:console.log.apply上的非法调用(显示非法调用)
- angularjs – ng-file-upload getting TypeError:使用ngf-drop进行非法调用
- Chrome中的“未捕获的TypeError:非法调用”
- console.log.apply的问题
- Discord.js - TypeError:client.on 不是函数
TypeError:console.log.apply上的非法调用(显示非法调用)
如果您在chrome控制台中运行此命令:
console.log.apply(null, [array])
Chrome给您返回错误:
// TypeError: Illegal Invocation
为什么? (通过OSX在Chrome 15上测试)
答案1
小编典典当执行上下文从控制台更改为任何其他对象时,它可能不起作用:
这是可以预期的,因为console.info希望其“ this”引用是控制台,而不是窗口。
console.info("stuff") stuff undefined console.info.call(this, "stuff") TypeError: Illegal invocation console.info.call(console, "stuff") stuff undefined
此行为是预期的。
angularjs – ng-file-upload getting TypeError:使用ngf-drop进行非法调用
另据报道here.
如何在不收到此错误的情况下观看模型?
解决方法
$scope.$watch('aComplexObject',function(newVal,oldVal) { // ... },true); // <<< this 'true' may cause the error.
Chrome中的“未捕获的TypeError:非法调用”
如何解决Chrome中的“未捕获的TypeError:非法调用”?
在您的代码中,您正在将本机方法分配给自定义对象的属性。当您调用时support.animationFrame(function ()
{})
,它将在当前对象(即支持)的上下文中执行。为了使本机requestAnimationFrame函数正常工作,必须在的上下文中执行它window
。
因此,此处的正确用法是 support.animationFrame.call(window, function() {});
。
警报也会发生相同的情况:
var myObj = {
myAlert : alert //copying native alert to an object
};
myObj.myAlert(''this is an alert''); //is illegal
myObj.myAlert.call(window, ''this is an alert''); // executing in context of window
另一个选择是使用Function.prototype.bind(),它是ES5标准的一部分,并且在所有现代浏览器中都可用。
var _raf = window.requestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.msRequestAnimationFrame ||
window.oRequestAnimationFrame;
var support = {
animationFrame: _raf ? _raf.bind(window) : null
};
解决方法
当我用requestAnimationFrame
下面的代码来做一些本机支持的动画时:
var support = {
animationFrame: window.requestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.msRequestAnimationFrame ||
window.oRequestAnimationFrame
};
support.animationFrame(function() {}); //error
support.animationFrame.call(window,function() {}); //right
直接致电support.animationFrame
会给…
未捕获的TypeError:非法调用
在Chrome中。为什么?
console.log.apply的问题
今天试着执行:
if (window.console && console.log){
var args = Array.prototype.slice.call(arguments);
console.log.apply(null, args);
}
发现报错:
TypeError: Illegal invocation
在网上搜了搜找到 答案 。
原因就是console的this对象不能更換,把上面的null改为console就可以了。
Discord.js - TypeError:client.on 不是函数
您没有正确创建 client
。您需要在 event code
的最顶部添加:
const Discord = require('discord.js');
const client = new Discord.Client();
,
您没有正确声明“客户端”,请确保添加此 -
const { Client }= require('discord');
const client = new Client()
关于TypeError:console.log.apply上的非法调用和显示非法调用的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于angularjs – ng-file-upload getting TypeError:使用ngf-drop进行非法调用、Chrome中的“未捕获的TypeError:非法调用”、console.log.apply的问题、Discord.js - TypeError:client.on 不是函数等相关内容,可以在本站寻找。
本文标签: