前端一些小经验

  • 标签
    可以少输入很多这种形式
  • \t\n\r的区别
    */* 第一个 alert 返回 “undefined”,因为赋值过程在声明过程和eval执行过程之后; 第二个alert返回 “false”, 因为尽管x声明的位置在eval之后, 但是eval的执行却在变量声明之后,因此已无法删除 */eval(' alert( x ); alert(delete x) ');var x = 1;
  • 前端对象function test{var a=2}可以以divDOM.innerHTML=test;的形式将方法体的具体内容传递到divDOM内部。
    如果test是{a:2}这种对象形式就会返回[object Object]
    如果test是[1,2,34]数组对象,就会返回去掉括号的1,2,34
  • alert方法在js底层会调用传入参数的toString()方法。所以,

alert([1,23,4]);//"1,23,4"
alert({a:"123"});//"[object Object]"
也就是说如果一个对象的toString被我重写了,那么alert之后的值,就是我重写之后的值了

  • toString方法会重载加性操作符。

var a ={};
a.toString = function(){
return 'test';
};
a+1; //'test1'

---持续更新---

你可能感兴趣的:(前端一些小经验)