前台开发总结05_20170516
来源:互联网 发布:手机淘宝旧版本5.8 编辑:程序博客网 时间:2024/05/21 07:14
1、问题描述:
在前台开发中,经常需要通过点击按钮,为HTML的某一元素增删class中的值。过去通常通过jQuery的attr()方法设置指定元素的class值。但是,这种方法在循环中缺不方便实现。
解决方法:
2、HTML中<a>中有属性download,加上它可以实现<a>中href属性所指向文件的下载。
3、在HTML页面的密码输入框中,通常需要设计显示隐藏密码的按钮或图标。
可以通过设置type来控制输入框中的字符串是否显示。
代码:
4、JS中使用 document.write("测试值"); 可以将JS中的变量输出到页面上。
注意:该表达式最好在测试中显示变量使用,因为其在显示时,会将原先的页面内容清空。
5、eval(); 参数只能为原始字符串,如果传入对象,则会不作任何改变的返回。
eval(); 参数中定义的值为全局变量。
抛出
如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。
如果非法调用 eval(),则抛出 EvalError 异常。
如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。
6、使用eval()、setTimeout()、setInterval()会对JS的性能造成影响,因为该三者的作用域都为全局,建议使用New Function立即执行函数,代码如下所示,其作用域为方法体。
7、parseInt(); 可以将变量从字符串类型转换为Number类型,如果为'a'这种无法转换为Number的字符串类型变量,则会返回NaN (Not a Number)。
注意:使用 parseInt(); 最好传递两个参数,第一个为要转换的字符串,第二个为进制。否则,若你的JS引擎的标准低于ECMAScript 5,parseInt('09'); 八进制以0开头,09会被当成八进制,进而出错转化为0。
ECMAScript 6 标准具有新的方法——— isNaN(); 可以判断String类型的变量能否转化为Number类型。
8、在JS的书写中,每条语句的结尾使用 ';'或者【Enter】回车 都可以表示语句的结束。不过,为了JS的规范,这里建议使用 ';' 作为语句的结束。
注意:不要因为无意中的回车而阴式添加分号,示例如下所示。
9、JS变量声明规范
对于JS中的常量,变量名全部大写,
在前台开发中,经常需要通过点击按钮,为HTML的某一元素增删class中的值。过去通常通过jQuery的attr()方法设置指定元素的class值。但是,这种方法在循环中缺不方便实现。
解决方法:
可以使用jQuery的addClass()、removeClass()、toggleClass()来具体的增删元素中的class
2、HTML中<a>中有属性download,加上它可以实现<a>中href属性所指向文件的下载。
eg. <a href="test.jpg" download>若给download指定值,那么便可以给test.jpg重命名,此功能只作用于同域,跨域无效。
3、在HTML页面的密码输入框中,通常需要设计显示隐藏密码的按钮或图标。
可以通过设置type来控制输入框中的字符串是否显示。
代码:
<input type="password" name="" id="password"><input type="button" value="显示/隐藏" class="but13"><script>$(function(){$(".but13").click(function(){var inputType=$("#password").attr("type");if("password" == inputType){$("#password")[0].type="text";}else{$("#password")[0].type="password";}});});</script>
4、JS中使用 document.write("测试值"); 可以将JS中的变量输出到页面上。
注意:该表达式最好在测试中显示变量使用,因为其在显示时,会将原先的页面内容清空。
5、eval(); 参数只能为原始字符串,如果传入对象,则会不作任何改变的返回。
eval(); 参数中定义的值为全局变量。
抛出
如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。
如果非法调用 eval(),则抛出 EvalError 异常。
如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。
6、使用eval()、setTimeout()、setInterval()会对JS的性能造成影响,因为该三者的作用域都为全局,建议使用New Function立即执行函数,代码如下所示,其作用域为方法体。
eg. (function(){})();
7、parseInt(); 可以将变量从字符串类型转换为Number类型,如果为'a'这种无法转换为Number的字符串类型变量,则会返回NaN (Not a Number)。
注意:使用 parseInt(); 最好传递两个参数,第一个为要转换的字符串,第二个为进制。否则,若你的JS引擎的标准低于ECMAScript 5,parseInt('09'); 八进制以0开头,09会被当成八进制,进而出错转化为0。
ECMAScript 6 标准具有新的方法——— isNaN(); 可以判断String类型的变量能否转化为Number类型。
parseInt("10");//返回 10parseInt("19",10);//返回 19 (10+9)parseInt("11",2);//返回 3 (2+1)parseInt("17",8);//返回 15 (8+7)parseInt("1f",16);//返回 31 (16+15)parseInt("010");//未定:返回 10 或 8
8、在JS的书写中,每条语句的结尾使用 ';'或者【Enter】回车 都可以表示语句的结束。不过,为了JS的规范,这里建议使用 ';' 作为语句的结束。
注意:不要因为无意中的回车而阴式添加分号,示例如下所示。
eg. function ma(){……return{value:'test'};}//本来想返回对象,结果却造成返回值为null。
9、JS变量声明规范
对于JS中的常量,变量名全部大写,
eg. var PI =3.14;对于JS中的私有(局部)变量,以下划线开始。
eg. var _pri_test ="test";在JS中声明变量时,无论全局变量还是局部变量,最好将所有变量都放在作用域的顶部声明,防止声明提升对代码逻辑造成影响。
阅读全文
0 0
- 前台开发总结05_20170516
- webgame前台开发总结
- 前台开发总结01
- 前台开发总结02
- 前台开发总结03
- 前台开发总结06_20170520
- 前台开发总结09_20170728
- 前台开发总结07——20170525
- 前台开发总结08——20170607
- 前台开发总结10——20170907
- 前台开发总结11——20171115
- 前台开发总结12——20171122
- 银行MIS系统前台开发总结(1)
- 银行MIS系统前台开发总结(2)-dataTable控件
- [原创]银行MIS系统前台开发总结(3)
- 前台开发总结04——2017.04.13
- jsp 前台知识总结
- 前台总结一
- 【自然语言处理】句法分析 (syntactic parsing) 在 NLP 领域的应用是怎样的?
- Chrome 控制台console的用法
- json数组转成ArrayList
- Android开发笔记:类似Toast的提示控件:SnackBar
- Palidrome 判断某数字是否为回文
- 前台开发总结05_20170516
- jquery $.deferredd对象
- 输入一个字符串,把其中的字符按逆序输出,如输入 LIGHT,输出 THGIL。
- UESTC 1581 Rikka的烦恼 分块、线段树
- centos7 下mysql 安装
- 2017年5月面试(记要)
- PHP设计模式系列
- 数据库SQL语句使用
- ISBN码验证(类)