Javascript 未定义自创建js库对象
我正在练习构建一个像jQuery这样的小js库。使用IIFE时,未定义我创建的对象:Todo。代码是示例,但确实不知道发生了什么。有人能帮我吗?非常感谢你 HTML:Javascript 未定义自创建js库对象,javascript,jquery,Javascript,Jquery,我正在练习构建一个像jQuery这样的小js库。使用IIFE时,未定义我创建的对象:Todo。代码是示例,但确实不知道发生了什么。有人能帮我吗?非常感谢你 HTML: <!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="style.css"> <script type="text/javascript" src="todo.js"><
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="todo.js"></script>
</head>
<body>
<script type="text/javascript">
Todo.print(); //Todo is not defined
</script>
</body>
</html>
您的
如果是问题所在。将其更改为检查Todo
是否为未定义
,而不是功能
,即
if (typeof(window.Todo) === "undefined")
这条线
if (typeof(defineTodo) === "undefined") {
将始终返回false,因此您没有使用defineTodo()
我认为更好的条件是:
window.Todo = window.Todo || defineTodo();
请参见运行示例:
(功能(窗口){
“严格使用”;
函数defineTodo(){
var Todo={};
Todo.print=函数(){
控制台日志(“待办事项”);
};
返回待办事项;
}
window.Todo=window.Todo | | defineTodo();
})(窗口);
Todo.print()//Todo未定义
window.Todo = window.Todo || defineTodo();