您的位置:首页 > Web前端 > JavaScript

js第二天知识总结

2016-07-06 10:42 519 查看
字符串的数组处理方式:

    用法:  str[i]      功能同   str.charAt(i)

    注意: 字符串虽然有上面这个功能,但是它不是数组,所以它没有数组的方法,比如push  

函数:

    函数的三种声明方式:

        1.  function xx(形参){ 方法体}    最常用

        2.  var xx=function(形参){方法体}   较常用       也证明了  函数也是对象

        3.  var xx=new Function(arg1,arg2,...funcBody)   不用   

    联系:

        1和2两种声明方式  最根本是执行的第三种方式

    

    区别(考点):

        第一种声明方式,最优先加载。

        二三种声明方式,顺序加载。

javascript 函数  是没有重载的!

    回调函数:

        一个函数声明过后,在另一个函数中执行

    

    第一种情况:

        没有参数时,可以直接传函数名

        

    第二种情况

        有参数时,把它放在匿名函数中

        一般不管有参数还是没参数,都放在匿名函数中

模拟了一个函数的重载

    函数的形参和实际传入的参数    没有关系。

    arguments   它是所有实参集合成的数组

匿名函数自调用:

    写法:

        (function(形参){

            方法体

            })(实参)

    作用:  一般用来初始化一些 属性或 配置

Object对象:

    它是所有javascript 对象的祖先,在它里边定义的方法,其他对象都有。

    动态的添加属性     比如    obj.name="zhangsan"     

    动态的添加函数     比如    obj.func=function(){}

    动态的删除属性或函数    比如   delete  obj.xxx

Json对象 (重要):

    格式:  {"键1":"值1","键2":"值2",......}  

    

    它动态的添加属性或函数   动态的删除属性或函数  的方式   和Object对象      json={"name","zhangsan"}不行

    取值的方式

        1)json.key     这里的key  是实际的  比如  json.name  

        2)json[key]    这里的key   是可变    

    json的遍历:

        json有没有length?   没有   所以第一种for  是不行的

        for(var i in json){} 可以   i 代表的是 键

工厂模式创建对象:

    调用这个工厂,在工厂中生产出对象,然后返回出来.

this构造器的方式创建对象:

    和java基本一样    最常用

prototype(原型):

    给对象模板上添加属性或函数

    一般用来添加函数,而不用来添加属性。  因为如果是添加的属性,对象对属性进行更改过后,有可能影响我们的模板.

javascript之this你到底指向谁:

    因为javascript 是基于对象,它的this  ,在使用的时候才知道它指向谁。

    

    js中的this:谁调用我,我就指向谁。

    第一种:

        创建对象的时候,型如:  var p=new Person(){ 这里面的this指向  new出来的这个对象  p}

    第二种:

        没有明确对象调用的时候,  this指向 Window      function test (){ this}     test() -->Window

    第三种:

        谁调用我,我就指向谁。  型如  xx.func()   func里面的this   指向  xx

call和apply:

    function.call(thisObj,arg1,arg2,...)   作用是   将function中的this  替换为  thisObj

    

    function.apply(thisObj,[arg1,arg2,...])   作用是   将function中的this  替换为  thisObj

       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: