首页 > 代码库 > 初学Java10:JavaScript小结(一)

初学Java10:JavaScript小结(一)

JavaScript小结

1.JavaScript是什么?动态的,弱类型
  (from W3School:http://www.w3school.com.cn/js/index.asp )
  JavaScript 是属于网络的脚本语言!
  JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。
  JavaScript 是因特网上最流行的脚本语言。

2.实现:<script type="text/javascript"></script>标签。

3.语句、注释、标识符(变量名,函数名)、保留字

4.变量:弱类型

  变量类型是可变的

5、数据类型:typeof运算符
  undefined
  Null == undefined
  Boolean (类型转换:if(‘yes‘){....})
  Number NaN!=NaN, isNaN ,类型转换parseInt("1234.5abc"),parseFloat()
  String 类型转换:12.toString() 单引号,双引号
  function:函数类型

6.运算符:基本和java差不多,其中“==”是指比较内容,eg:var a="123";var b=123;alert(a==b);//true
                “===”是比较内容和类型,eg:var a="123";var b=123;alert(a===b);//false

7.控制语句:基本和java差不多

8.函数
  1)普通定义与调用
  2)动态参数arguments,下例:

 1   function plus(){ 2     //参数对象(数组) 3     if(arguments.length>0){ 4         var sum=0; 5         for(var i=0;i<arguments.length;i++){ 6         sum+=arguments[i]; 7       } 8     } 9     return sum;10   }11 //调用12 var x=plus(10,20,30,40);13 alert(x);//=100

  3)匿名定义和调用,匿名函数定义,定义匿名函数,将函数地址赋值给变量

9.基本类型(undefined,null,number,boolean,string)/引用类型:Object 、Array、Function
  1)动态属性: delete p.name
  2)复制引用:

var o1=new Object();var o2=o1;o1.name=‘ada‘;alert(o2.name);//ada

3)传递参数 不能通过参数在函数内部改变外部对象
4)类型检测 instanceof

10.作用域:变量的有效范围
1)执行环境;每个函数就是一个执行环境
2)作用域链
3)搜索变量
4 )没有块级作用域
5)声明变量(var)自动添加到最近的环境,未声明变量直接添加到全局环境

11.Object创建的两种方式
1)new Object()
2){"name":"ada","sex":"male"} //JSON方式
eg://Object对象创建的方式

//1.newvar p=new Object();p.name="ada";//2.JSONvar p={"name":"ada","sex":"male"};alert(p.name);alert(p.sex);//属性访问方式alert(p["name"]);alert(p["sex"]);//遍历全部属性for(var a in p){document.write(p[a]);}

12.Array
  1)创建:new Array();

//1.var a=new Array(4);alert(a.length);//2.a[0]=1;a[1]=2;a[3]=4;alert(a[2]);

  2)创建并初始化: a=[1,2,3];
  3)数组动态性

var a=[1,2,3];a[10]=11;alert(a.length);//11alert(a[3]);//undefined//a[3]---a[9]都是undefined

  4)转换:toString()
  5)push():添加尾元素

var a=[1,2,3];a.push(4);//压栈alert(a);//1,2,3,4

  6)shift():删除头元素

var a=[1,2,3,4];var x=a.shift();alert(x);//2,3,4

  7)sort(a,function(v1,v2){}),排序

var a=[15,1,3,5,20,50];a.sort(function(v1,v2){    if(v1>v2){        return 1;    }else if(v1<v2){        return -1;    }else{        return 0;    }});alert(a);//顺序,从小到大,1,3,5,15,20,50    

  8)slice(start,end)截取

var a=[1,2,3,4,5,6,7,8];var b=a.slice(2,6);alert(b);//3,4,5,6

  9)splice :删除(0,2),插入(2,0,"aaa"),替换(2,1,"aaa)
  10)indexOf,返回某个指定的字符串值在字符串中首次出现的位置
  11)arr.forEach(function(item,index,array){});//迭代
  12)arr.every/arr.some
  13)filter筛选,eg: 筛选:10以上的元素

var a=[15,2,12,3,5,11,18];var b=a.filter(function(item,index,array){return item>10;});alert(b);//15,11,18

13.Date:
  1)创建 new Date()/new Date(2010,5,6,14,25,30)
  2)date.now()
  3)date.getTime()/getYear()/getMonth()/getDay()/getDate()

14.Function
  1)函数作为参数值
  2)caller
  function A(){B();}
  function B(){alert(B.caller);}
3)函数是对象:
  length属性,参数个数

apply();call();window.color="red";var o={color:"blue"}function sayColor(){alert(this.color);}sayColor.call(window);sayColor.call(o);var oSayColor=sayColor.bind(o);oSayColor();

15.Global终极对象
  eval方法,将字符串转化为表达式
  eg:var jstu=eval("("+jstr+")");//代码注入攻击,少用

16.Math对象(from W3School:http://www.w3school.com.cn/jsref/jsref_obj_math.asp )
方法      描述
abs(x)    返回数的绝对值。
acos(x)    返回数的反余弦值。
asin(x)    返回数的反正弦值。
atan(x)    以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
atan2(y,x)   返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
ceil(x)     对数进行上舍入。
cos(x)     返回数的余弦。
exp(x)    返回 e 的指数。
floor(x)   对数进行下舍入。
log(x)     返回数的自然对数(底为e)。
max(x,y)  返回 x 和 y 中的最高值。
min(x,y)   返回 x 和 y 中的最低值。
pow(x,y)    返回 x 的 y 次幂。
random()    返回 0 ~ 1 之间的随机数。
round(x)   把数四舍五入为最接近的整数。
sin(x)     返回数的正弦。
sqrt(x)   返回数的平方根。
tan(x)    返回角的正切。
toSource() 返回该对象的源代码。
valueOf()   返回 Math 对象的原始值。

    2016-10-13

初学Java10:JavaScript小结(一)