1.this js的关键字,

  用途:指向某一个对象。

  如何判断this指向

  函数(方法)内

    一种以函数的方式调用(不带.) this指向winodw

    一种以方法的形式调用(函数名前面带.)this指向点前面的

  函数(方法)外,this指向window

  This指向的特列

    1. 自调用函数内的this都是window
    2. 定时器的this指向window
    3. 事件里面的this 指向触发事件的元素
    4. 构造函数里的this指向他的实例

2.怎样替换函数内的this

  (1) Call()

  (2) Apply

  (3) Bind()

  Afn.call(B,5) B取代了fn中的this并把fn调用了。

  Call和apply,bind只能是函数(方法)或者函数对象的

    var a=45;

    var b={

      a:12

    }

    var arr=[12,56]

    function fn(){

      console.log(this.a)

     }

    fn.call(b)  call前面必须是函数对象,其他的不行

2.面向对象

  1.单例模式

    Var obj={}

  2.工厂模式

    function fn(){

      Var obj={}

      obj.name=”zhang”

      return obj;

    }

3.构造函数  三个特点  函数名首字母大写 函数的属性前面加this    函数调用用new 调用

    function Person(name){

      this.name=name

    }

    Var zhang=new Person(“zhang”)

  1.每个构造函数天生自带一个prototype的属性,叫原型,他是一个对象,存放父类可继承的属性

  2.函数内的属性是子对象天生就继承的,不需要任何操作

  3.prototype上的属性是继承给子对象的,子对象必须通过__proto__(原型链)来查找

  4.每个子对象都有一个__proto__,它指向父类的原型。

  原型链:子对象再操作一个属性时,首先看属性是私有的,有就直接用,没有就通过__proto__向子对象的父类查找,父类有就使用,没有就用父类的__proto__继续向上查找,知道基类Object,如果基类没有就是undefined

  Object.prototype.sex="男男女女"

    function Person(){

      this.name="张三"

    }

    Person.prototype={

      age:"456"

    }

    var zhang=new Person()

    console.log(zhang.sex)

4.作用域和作用域链

  浏览器客户端给js一个生存环境。

  Js代码再执行之前,浏览器会给js一个生存环境就window。

  他会分成两个模块,一个就内存,一个叫执行。内存模块在代码执行前就完成了,存放关键字var和function,每存放一个变量就会生成一个内存地址。

在执行模块 a=12; 先通过内存地址查找有没有a,有就直接赋值给a,没有就是undefined

赋值

  1. 基本数据类型 就直接赋值
  2. 引用数据类型 把内存地址赋给变量

var obj={

name:"zhangsan"

}

var person=obj;

person.name="lisi"

console.log(obj.name)

基本数据类型在赋值的时候就是简单的操作值

引用数据类型在赋值的时候,把内存地址赋值给变量,在操作引用数据类型的时候,首先通过内存地址去找到里面的东西,然后操作。(引用数据类型在赋值的时候,首先开辟一个堆内存,存放里面的代码块,然后把内存地址赋值给变量。在操作这个变量时候会通过内存地址去查找,然后修改里面的东西)

引用数据类型 object  array  function 前两个都是以键值对的形式存放,而后一个以字符串的形式存放。

11-22 JS中级复习的更多相关文章

  1. Js中级复习

    JS中级复习—— 1,this   就是js的关键字 用途:指向某一个对象 如何判断this指向: 函数(方法)内—— 一种以函数的方式调用(不带.)this指向window 一种以方法的形式调用(函 ...

  2. 11.1 js中级,数据类型、数据储存方式、作用域内存空间的区别以及例识别。

    一. 基本数据类型和引用数据类型的区别. 1.基本数据类型:基本数据类型就是简单的操作值. 2.引用数据类型:就是把引用的地址赋给变量. 堆内存: 就是存放代码块的,存放形式有两种 1)对象以键值对的 ...

  3. codefordream 关于js中级训练

    中级训练接着就紧锣密鼓的开始了. 首先是关于变量,变量的作用是给一个数据值标注名称. 注:JavaScript中变量名,函数名,参数名的命名规范:至少由字母,下划线,美元符号,数字其中的一种组成,但不 ...

  4. lambda的使用ret = filter(lambda x : x > 22 ,[11,22,33,44])

    #!/usr/bin/env python #def f1(x) : # return x > 22 ret = filter(lambda x : x > 22 ,[11,22,33,4 ...

  5. #有如下值集合[11,22,33,44,55,66,77,88,99,90...],将所有大于66值保存至字典的一个key中,将小于66的值保存至大二个key的值

    #!/usr/bin/env python #有如下值集合[11,22,33,44,55,66,77,88,99,90...],将所有大于66值保存至字典的一个key中,将小于66的值保存至大二个ke ...

  6. JS基础 复习: Javascript的书写位置

    爱创课堂JS基础 复习: Javascript的书写位置复习 js书写位置:body标签的最底部.实际工作中使用书写在head标签内一对script标签里.alert()弹出框.console.log ...

  7. jquery-1.11.1.js

       每次想要使用这个js时,总是要到官网上下载,太麻烦,现在把它收录了 jquery-1.11.1.js /*! * jQuery JavaScript Library v1.11.1 * http ...

  8. 08 集合[11,22,33,44,55,66,77,88,99],将所有<66的值保存至字典的第一个key中,将所有>=66的值保存至字典的第二个key中。即:{'k1':<66的所有值,'k2':>=66的所有值}

    li = [11,22,33,44,55,66,77,88,99]dict = {'k1':[],'k2':[]}for i in li:    if i < 66:        dict[& ...

  9. 2.22 JS处理富文本

    2.22 JS处理富文本 前言    <富文本>这篇解决了富文本上iframe问题,其实没什么特别之处,主要是iframe的切换,本篇讲解通过js的方法处理富文本上iframe的问题一.加 ...

随机推荐

  1. 无法连接ssh,fatal: daemon() failed: No such device

    今天发现一个服务器的sshd无法启动,查看/var/log/secure里发现:fatal: daemon() failed: No such device 解决办法: rm /dev/null /d ...

  2. 弹性和瞬态故障处理库Polly

    介绍 本节我们来介绍一款强大的库Polly,Polly是一种.NET弹性和瞬态故障处理库,允许我们以非常顺畅和线程安全的方式来执诸如行重试,断路,超时,故障恢复等策略. Polly针对对.NET 4. ...

  3. jquery .On()绑定事件的触发机制

    选择器只能选择已存在元素,其他元素需要作为参数传递给on

  4. Oracle 11g 安装过程中“检查网络配置要求 未执行”解决方法

    正在检查网络配置要求... 检查完成.此次检查的总体结果为: 未执行 网上查了一下,很多朋友都遇到这个问题而无从下手,其实解决起来很容易的. 只需要在 Windows XP 中安装 Microsoft ...

  5. textarea文本域宽度和高度width及height自动适应实现代码

    <HTML> <HEAD> <TITLE>textarea宽度.高度自动适应处理方法</TITLE> <!-- 控制宽度的自动适应 --> ...

  6. Spring MVC基础知识整理➣拦截器和自定义注解

    概述 Spring MVC中通过注解来对方法或者类进行动态的说明或者标注,类似于配置标识文件的属性信息.当标注的类或者方式被使用时候,通过提取注解信息来达到对类的动态处理.在 MVC中,我们常用的注解 ...

  7. jloi2015

    题解: [JLOI2015]管道连接 这个很水 比较裸的斯坦纳树dp 斯坦纳树dp就是 g[i][j]表示当前在i点,状态为j 然后转移分为两种 g[i][j]=g[i][k]+g[i][k^j] 另 ...

  8. python多线程之t.setDaemon(True) 和 t.join()

    0.目录 1.参考2.结论    (1)通过 t.setDaemon(True) 将子线程设置为守护进程(默认False),主线程代码执行完毕后,python程序退出,无需理会守护子线程的状态.    ...

  9. Codeforces 1045C Hyperspace Highways (看题解) 圆方树

    学了一下圆方树, 好神奇的东西呀. #include<bits/stdc++.h> #define LL long long #define fi first #define se sec ...

  10. js让元素获取焦点

    js让元素获取焦点$("#startAddress").focus();