js 小知识点 (以前的笔记,有点乱)

来源:互联网 发布:图书软件项目计划书 编辑:程序博客网 时间:2024/05/16 09:33

在js中其实全局变量都是window的属性
比如var a=23;
alert(a)就是alert(window.a);
alert一个没有定义的变量会报错,而alert一个没有定义的属性显示undefined
直接alert(a),报错。alert(window.a)显示undefined

a=function ss(d){    alert(d);}// 这个写完以后,ss就不起作用了,起作用只有a,可以理解为a是ss的别名,// 并且函数ss被销毁了。一般用在匿名函数上,意义是给函数起名。

JavaScript 会忽略多余的空格。您可以向脚本添加空格,来提高其可读性。

您可以在文本字符串中使用反斜杠对代码行进行换行。下面的例子会正确地显示:
document.write(“Hello \
World!”);
不过,您不能像这样折行:
document.write \
(“Hello World!”);

如果重新声明 JavaScript 变量,该变量的值不会丢失:

JavaScript 只有一种数字类型,64位。数字可以带小数点,也可以不带:极大或极小的数字可以通过科学(指数)计数法来书写:
整数(不使用小数点或指数计数法)最多为 15 位。
小数的最大位数是 17:

//加法  Number.prototype.add = function(arg){      var r1,r2,m;      try{r1=this.toString().split(".")[1].length}catch(e){r1=0}      try{r2=arg.toString().split(".")[1].length}catch(e){r2=0}      m=Math.pow(10,Math.max(r1,r2))      return (this*m+arg*m)/m  }  //减法  Number.prototype.sub = function (arg){      return this.add(-arg);  }  //乘法  Number.prototype.mul = function (arg)  {      var m=0,s1=this.toString(),s2=arg.toString();      try{m+=s1.split(".")[1].length}catch(e){}      try{m+=s2.split(".")[1].length}catch(e){}      return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)  }  //除法  Number.prototype.div = function (arg){      var t1=0,t2=0,r1,r2;      try{t1=this.toString().split(".")[1].length}catch(e){}      try{t2=arg.toString().split(".")[1].length}catch(e){}      with(Math){          r1=Number(this.toString().replace(".",""))          r2=Number(arg.toString().replace(".",""))          return (r1/r2)*pow(10,t2-t1);      }  }  // ********************************************************   alert(Number(0.09999999).add(0.00000001));//弹出: 0.1     //注意,如果是负数,一定要先使用Number转型,否则结果不正确     alert(Number(-0.09999999).sub(0.00000001));//弹出: -0.1     alert(Number(0.012345).mul(0.000001));//弹出: 1.2345e-8     alert(Number(0.000001).div(0.0001));//弹出: 0.01  
原创粉丝点击