JavaScript实战总结
序言
javascript中数组的22种方法:http://www.cnblogs.com/xiaohuochai/p/5682621.html
1.js闭包
2.eval函数
eval(“字符串”) 将接收过来的字符串转为js表达式 eval(“json字符串”)
3.百度分享
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <div class = "bdsharebuttonbox" data-tag= "share_1" > <a class = "bds_mshare" data-cmd= "mshare" ></a> <a class = "bds_qzone" data-cmd= "qzone" href= "#" ></a> <a class = "bds_tsina" data-cmd= "tsina" ></a> <a class = "bds_baidu" data-cmd= "baidu" ></a> <a class = "bds_renren" data-cmd= "renren" ></a> <a class = "bds_tqq" data-cmd= "tqq" ></a> <a class = "bds_more" data-cmd= "more" >更多</a> <a class = "bds_count" data-cmd= "count" ></a> </div> <script> window._bd_share_config = { common : { bdText : '自定义分享内容' , bdDesc : '自定义分享摘要' , bdUrl : '自定义分享url地址' , bdPic : '自定义分享图片' }, share : [{ "bdSize" : 16 }], slide : [{ bdImg : 0, bdPos : "right" , bdTop : 100 }], image : [{ viewType : 'list' , viewPos : 'top' , viewColor : 'black' , viewSize : '16' , viewList : [ 'qzone' , 'tsina' , 'huaban' , 'tqq' , 'renren' ] }], selectShare : [{ "bdselectMiniList" : [ 'qzone' , 'tqq' , 'kaixin001' , 'bdxc' , 'tqf' ] }] } with (document)0[(getElementsByTagName( 'head' )[0]||body).appendChild(createElement( 'script' )).src= 'http://bdimg.share.baidu.com/static/api/js/share.js?cdnversion=' +~(- new Date()/36e5)]; </script> |
4.打印
<a href="javascript:window.print()">打印</a>
5.闭包
闭包:有一个函数 A 中有一个函数或者对象 B,那么函数或者对象 B 可以访问函数 A 中的数据,那么函数 A 的作用域就形成了闭包。
活着的人从死去的人那里偷来了东西,让那些东西不随死去的人而消失。活着的人拥有了这些东西,这些东西的寿命也因此边长了。
这是JavaScript为了应对天马行空的自由度产生的bug而打的补丁!
这比如虽然有点不雅,但也只是为了看官便于理解,请勿介意。好,咱们还是看看代码分析:
1 2 3 4 5 6 7 8 9 10 11 | <script> function oldMan(){ var money=999999; // 老人的财富 //老人有一个年轻的儿子 return function young(){ console.log( "儿子要花老子的钱" +money+ "美刀" ); } } var y=oldMan(); //老人将儿子放出来之后就挂了,oldMan函数运行完成,出栈了!! y(); //儿子开始活动了,儿子竟然有老人的钱 </script> |
闭包用途
1.来替代全局变量 避免造成变量污染
6.json字符串格式转换
eval函数
1 function myEval() { 2 var str = '{ "name": "Violet", "occupation": "character" }'; 3 var obj = eval('(' + str + ')'); 4 alert(obj.toJSONString()); 5 }
parseJSON()
1 function myEval() { 2 var str = '{ "name": "Violet", "occupation": "character" }'; 3 var obj = str.parseJSON(); 4 alert(obj.toJSONString()); 5 }
7.jquery中prop()方法和attr()方法的区别
是有true,false两个属性使用prop()
.prop("selected", true); .attr("selected", "selected");
8.模拟表单提交
/*******************模拟post提交*******************/ var postSubmit = function (formID, URL, paramObjs, targetName) { $("#" + formID).remove(); var temp = $("<form>"); temp[0].action = URL; temp[0].method = "post"; temp[0].target = targetName; temp[0].style.display = "none"; temp[0].id = formID; if (paramObjs) { for (var i = 0; i < paramObjs.length; i++) { temp[0].appendChild(paramObjs[i]); } } document.body.appendChild(temp[0]); temp[0].submit(); return temp; }; /*******************建立控件*******************/ var createElement = function (eTag, eType, eName, eValue) { var tempE = document.createElement(eTag); tempE.type = eType; tempE.name = eName; tempE.value = eValue; return tempE; }; //使用示例 var url = REF.getVirtualPath() + "/Controller/Action"; var pArr = new Array(); pArr.push(createElement("input", "hidden", "productType", "AREA")); postSubmit("areaAnalysisSubmitForm", url, pArr, "_blank");
9.封装JavaScript源文件的全部内容到一个函数块
(function($) { /* jQuery plugin code referencing $ */ } )(jQuery);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!