一、js代码怎么运行
您好:onclick事件必须是你点击那个button的时候才会运行的。你看你定义的方法: function LastLogin1() { if (LoginLogin2()) { var Logina = "<%=LastLogin3() %>"; if (Logina=="1") alert("登录成功"); else alert("账号或密码错误"); } } 这个不是匿名函数。必须当点击的时候才会触发后台的验证用户名和密码等操作。如果你想页面加载的时候就运行完全可以把function后面的LastLogin1去掉,或者在前面加上: windows.onload=funtion(){你里面的代码} 但是这样就没意义了。你说呢? 并且EnablePageMethods是为了设定客户端javascript直接调用服务端WebMethod。 看下面的例子: EnablePageMethods.aspx <script type="text/javascript"> var txtName; var lblMsg; function pageLoad(){ txtName=new Sys.Preview.UI.TextBox($get('txtName')); lblMsg=new Sys.Preview.UI.Label($get('lblMsg')); } function sayHello(){ PageMethods.SayHello(txtName.get_text(),cb_SayHello); } function cb_SayHello(result){ lblMsg.set_text(result); } </script> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True"> <Scripts> <asp:ScriptReference Name="PreviewScript.js" Assembly="Microsoft.Web.Preview" /> </Scripts> </asp:ScriptManager> <input type="text" id="txtName" /> <input type="button" value="invoke" onclick="sayHello()" /> <div id="lblMsg"></div> </div> </form> EnablePageMethods.aspx.cs [System.Web.Services.WebMethod] public static String SayHello(string name) { return "welcome to site " + name; }
|
三、js代码用什么编写
一直都是使用vs.net(02、03、05、08) 08版本已经很好的支持js了 不过这个对于为.net平台来说可能不合适 可以Google一下"js 开发工具" aptana studio2.0 super 好用 不写分号能显著让代码更加优雅,并少轻松你的双手。 可能很多人会有疑问,没有分号的Javascript也能正常运行? 几乎是的。不过在一些特殊的时候Javascript引擎并不会帮助你正确插入分号。 具体的情况只有这五个符号:+, - ,(, [, / 没了。 也就是说,凡是新的一行代码以上述五个符号开头,那么之前一句的末尾是需要分号的。 而在实际情况中,以+,- 开头的新一行代码几乎不可能出现。 所以可能情况: (function(){ // do something })() 如果之前没加分号,那么这个匿名函数外的括号会调用上一行定义的函数,匿名函数就变成了参数。记住下面的这个分号 ;(function(){ // do something })() 还有比如这样 ;(a == 1 || b == 1) && fn() ;[].slice.call() ;/abc/.test('abcd') 除了上面例子,几乎没有其他情景需要加分号了。 所以经常遇到这种情况,一个javascript文件里几百个分号全是没必要的。 而且,通常在生产环境中会提前用uglify.js去压缩代码,或是用ES6时babel转码,这都会帮你补全分号。 所以还有什么理由去写分号呢? 当然写不写分号也属于个人习惯,知道什么时候分号是不可省的才是重点。 PS:Vue.js的源码就是不写分号的。 使用ES6 相比较ES5,ES6的语法中的结构赋值,箭头函数,模板字符串,对象的简写法等都能让代码变得干净利落。 比如一个判断奇偶的函数 function isEven(x){ return x % 2 == 0 } ES6: const isEven = x => x % 2 == 0 比如字符串拼接 dom.innerHTML='Hello ' + name + ',How you today?' ES6: dom.innerHTML=`Hello ${name} How you today?`
|