Javascript高级编程

1.新建标签:

  $('<a>',{'href':'**.html','target':'_self'})

2.if else 写法  

    //if (foo) bar(); ==> foo&&bar(); 
	5>4&&alert('sean')
	//if (!foo) bar(); ==> foo||bar(); 
    '4'===4||alert('chang') // === 类型和值都一样
	
    /*下面这种写法  是  if(attrName=='for')
    			return 'htmlFor'
    		      if(attrName=="class")   
    		        return 'className';
    */
	function getAttr(attrName){ 
		var attr = {'for':'htmlFor', 'class':'className'}[attrName] || attrName; // {}[]||
		return attr;
	}; 
	alert(getAttr('for'))
	alert(getAttr('sean'))

3. 前台模板使用解决前台拼写html的麻烦-- jquery.tmpl.js使用

<div id="div_demo" style="border:1px solid red; width:400px"></div>
<script id="demo" type="text/x-jquery-tmpl">
    <div style="margin-bottom:10px;">
      <span>${ID}</span>
      <span style="margin-left:10px;">{{= Name}}</span>
      <span style="margin-left:10px;">${Number(Num)+1}</span>
      <span style="margin-left:10px;">{{html '<span>'+Status+'</span>'}}</span>
    </div>
</script>
<script type="text/javascript">
  var users = [{ ID: 'id_1', Name: 'sean', Num: '1', Status: 1 }, { ID: 'id_2', Name: 'chang', Num: '2', Status: 2 }];
  $("#demo").tmpl(users).appendTo($("#div_demo"));
</script>

结果显示:

  

4. 日期时间

  var elapsed=now-then;//返回时间间隔毫秒数

5. [].slice.call(arguments,0);

  []===Array.property      slice方法定义在Array的原型里,Array无法直接调用

       slice-->截取

       call-->可以理解为继承 

       

[].slice.call(document.querySelectorAll('.tabs')).forEach(function (el) {
  // to do sth
});

6. 正则替换 

string.replace(/a/g,"b");//参数 g ,表示全文匹配。
string.replace(new RegExp(key,'g'),"b");//替换变量

 

posted @ 2017-04-19 13:38  sean-日积月累  阅读(154)  评论(0编辑  收藏  举报