zoukankan      html  css  js  c++  java
  • JavaScript实战总结

    序言

    javascript中数组的22种方法:http://www.cnblogs.com/xiaohuochai/p/5682621.html

    1.js闭包

    2.eval函数

    eval(“字符串”)  将接收过来的字符串转为js表达式     eval(“json字符串”) 

    3.百度分享

    <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而打的补丁!

      这比如虽然有点不雅,但也只是为了看官便于理解,请勿介意。好,咱们还是看看代码分析:

    <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/

  • 相关阅读:
    ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint......
    模拟Executor策略的实现
    设计3D标签
    创建被图像填充的组件
    netty基础09_利用EmbeddedChannel做单元测试
    netty基础08_引导类
    netty基础07_Netty提供的消息处理器和编码解码器
    netty基础06_编码器和解码器
    netty基础05_管道和消息处理器
    netty基础04_数据缓冲区
  • 原文地址:https://www.cnblogs.com/cnki/p/5148331.html
Copyright © 2011-2022 走看看