读书人

js这样写会有逻辑有关问题吗

发布时间: 2013-10-23 11:39:13 作者: rapoo

js这样写会有逻辑问题吗
这样写,感觉会重复调用不执行的代码


search();
function search() {
var val = $("#searchBox").val();
$("#searchBtn").click(function(){
//dosomething
});
$("#searchBox").bind('focus',function() {
//dosomething
})
}

还是说不应该封装成函数,直接如下这样写,但是这样的变量是全局变量的,怕有所影响

var val = $("#searchBox").val();
$("#searchBtn").click(function(){
//dosomething
});
$("#searchBox").bind('focus',function() {
//dosomething
})

请问哪种写法的逻辑更好点。 js
[解决办法]
封装成函数可以重复用 不封装即时执行 看你的目的了
[解决办法]
不过你写的这个函数执行一次就多增加一次click和focus,逻辑有问题吧
[解决办法]
要有 init 初始化的概念

//search(); 在合适的时候 执行他

$(function(){
var val=null;
window.search = function() {
val = $("#searchBox").val();
}
function searchBtnclick(){
//dosomething
}
function searchBoxfocus(){
//dosomething
}
$("#searchBtn").click(searchBtnclick);
$("#searchBox").bind('focus',searchBoxfocus)


});

我感觉 你只是想这样
[解决办法]
把不同的功能块封装到
(function(){
})();
或者
$(function(){
});
封装起来,然后需要抛出的全局方法可以用命名空间。
(function(){
App.commom.init = function(){
...
}
})();
个人在项目中的一点儿实践

读书人网 >JavaScript

热点推荐