• JavaScript2


    一、变量作用域

    1、内部函数可以访问外部函数的成员变量

    2、假设内部函数变量和外部函数变量重命名,从内向外查找

    3、提升变量作用域

      function abc(){  

        var x = "x"  + y;

        console.log(x);

        var y = "y";

      }//结果为    xUndefinde

    因为js执行引擎自动提升了y的声明,但不会提升y的值。

    一般写js代码时,所有的变量定义都放在函数的头部,看不懂变量意思就加注释。便于代码维护。类似  var  a,b,c,d,e;

    4、全局变量,定义在script下的变量

      默认所有的全局变量,都会自动绑定在window对象下。

    alert()  这个函数本身也是一个window的变量

    5、JavaScript实际上只有一个全局作用域,任何变量(函数也可以视为变量),假设没有在函数的作用范围找到,就会向外查找,如果全局作用域都没有找到,报错‘RefrenceError’

    6、规范:

      由于我们所有的全局变量都会绑定到我们的window上。如果不同的js文件,使用了相同的全局变量,就会发生冲突,那我们怎么来减少冲突呢,就是把代码全部放到自己定义的唯一空间中,降低全局变量冲突的问题。

    var space = {};
      space.name = 'SpaceX';
      space.add = function(a,b){
      return a + b;
    }

    7、局部作用域 let 

    for(var i=0;i<10;i++){
      console.log(i);
    }
      console.log(i+1);

    //这里使用var 定义变量会发现出现了一个问题,这个i在for执行完之后出了循环还可以用。

    for(let i=0;i<10;i++){
      console.log(i);
    }
      console.log(i+1);

    //所以改写let定义局部作用域的变量, JavaScript推荐使用let定义变量,更加标准,var定义不规范

    8、常量 const(只读变量)

    在ES6之前,定义常量只有用全部大写字母命名的变量就是常量,建议不要修改这样的值,但是并不起到什么作用,还是可以修改,只是不建议写代码的人修改。

    const PI = '3.14';

    9、定义方法

      方法就是把函数放在对象的里面,对象只有两个东西:属性和方法

      例如下面这样定义age方法

      调用age方法的时候必须带括号才能使用   ()

      属性就是:spaceX.name; 

      this始终指向调用它的那个人。

    第一种写法:

     第二种写法:

    apply:在JavaScript中可以控制this的指向。

     

    10、Date    一般用Date就是展示和计算  没什么特别的用途

    now. getFullYear(); //年
    now. getMonth(); //月0~11
    now. getDate(); //日
    now.getDay(); //星期几
    now. getHours(); //时
    now. getMinutes(); //分.
    now. getSeconds(); //秒
    now.getTime(); //时间戳全世界统一 格林威治时间1970.01.01 00:00:00
    console.log(new Date(now.getTime()))  //Sun May 31 2020 19:41:13 GMT+0800 (中国标准时间)

    转换时间格式: 

    now.toJSON()  "2020-05-31T11:41:13.327Z"

    now.toLocaleString()  "2020/5/31 下午7:41:13"

    now.toDateString()  "Sun May 31 2020"

    now.toGMTString()  "Sun, 31 May 2020 11:41:13 GMT"

    now.toISOString()  "2020-05-31T11:41:13.327Z"

    11、JSON

      早期所有的数据传续习惯使用XML文件

      JSONJavaScript是一种轻量级的数据交换格式

      简洁和清晰的层次结构使得JSON成为理想的数据交换语言

      有效的提高网络传续效率

      

      在JavaScript中一切皆为对象,任何js支持的类型都可以用JSON来标识

      格式: 对象都用{}  数组都用[]  所有的键值对都用key :  value

      参数为json字符串

      里面用双引号外面就要用单引号

     12、面向对象编程

    __proto__方法,原型

    本意就是,将后面的对象看作前面对象的原型,像Java中的继承似的。

     class 继承  与Java大同小异,让小红对象指向Student类,小红就是一个学生,就可以调用方法

    13、BOM

    window  代表全局对象,我们可以通过window来操作浏览器窗口

      window.alert()

    screen  代表屏幕尺寸

      screen.width

      screen.height

    location  代表当前页面的URL信息,可以用它做一些重定向操作。

    其中有几个比较重要的:

      host:"www.baidu.com"   ---> 主机

      herf:"https://www.baidu.com/"   ---> 当前指向的位置 用它来跳转网页

      protocol:"https:"   ---> 协议

      reload:f  reload()  ---> 重新加载     刷新页面

      设置新的地址:location.assign("www.SpaceX.com");    比如在百度里面修改这样一行代码 就会让所有进入百度的用户都跳转到你的网页 

    document  内容      例如  document.title ='lcz...' 

    history  代表浏览器的历史记录 

      网站的前进后退

      history.back()  ---> 后退

      history.forward()   ---> 前进

    14、操作DOM对象

      DOM文档对象模型

    DOM主要就四个操作:增删改查

      更新DOM节点

      遍历DOM节点(得到DOM节点)

      删除一个DOM节点

      添加一个新的节点

    要操作一个DOM节点,就必须要先获得这个节点。

    获得DOM节点:

    更新节点:

    操作文本: 

      <div id='id1'></div>

      <script>

        id1.innerText = 'abc';  ---> 操作文本的值

        id1.innerHTML = '<strong>"abc"</strong>'  --->可以解析HTML的文本标签

      </script>

    操作css

    id1.style.color = 'bule';

    id1.style.fontSize = '200px';

                      -------2020/06/01   早

  • 相关阅读:
    (转)我是怎么治愈鼻窦炎的
    Linq to SQL 资源
    桥牌笔记:忍让几墩?
    读书笔记2013第1本:餐巾纸的背面
    《Two Dozen Short Lessons in Haskell》学习(十五) Encapsulation — modules
    《Two Dozen Short Lessons in Haskell》学习(十三)迭代及重复的常规模式
    读书笔记2013第4本:《上帝掷骰子吗?》
    用Haskell写的卡普雷尔卡kaprekar黑洞小程序
    读书笔记2013第5本:《拖延心理学》
    使用Supermemo背单词6周年了
  • 原文地址:https://www.cnblogs.com/jzspace/p/13022935.html
Copyright © 2020-2023  润新知