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);

资料

https://zh.javascript.info/

posted @   ~沐风  阅读(311)  评论(0编辑  收藏  举报
编辑推荐:
· 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框架的用法!

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示