一、index

  • 单行注释 crtl+/
  • ctrl+shift+/ 多行注释
  • 1.如何在javascript中声明一个变量
  • 特点:它是一种弱类型,声明变量的时候不用指明它的类型,赋值时候自动声明
  • 2.typeof 判断一个变量的类型
    1. <script>
    2. var message;//定义了一个名为message的变量,像这样未经初始化的变量,回保存一个特殊的值undfined
    3. var a = 10;
    4. a = "heel world"
    5. console.log(typeof a);
    6. </script>

    二、声明变量

<script>
        /* 1.先声明变量,之后赋值 */
        var a;
        a = 10;
        /* 2.声明变量同时进行赋值 */
        var b = 10;    
    </script>

三、基本类型(number,string,boolean,undefined,null)

ECMAScript中有5种简单数据类型(也成为基本数据类型):Undefined、Null、Boolean、Number和String。还有一种复杂数据类型Object

  • boolean只有两种值:true false
  • typeof 操作符去判断

    <script>
          /* number,string,boolean,undefined,null */
          var num = 10;
          var str = "hello world";
          var b = true; /* boolean只有两种值:true false */    
          /* typeof 操作符去判断 */
          console.log(typeof num)
          console.log(typeof str)
          console.log(typeof b)
                  alert(null == undefined) //true
      </script>
    

    四、引用类型( Array,Function,JSON Object)

  • Array.isArray() 判断一个对象是不是一个数组

  • 读取数组的值 console.log(arr[0]) (数组的下标从0开始)
  • length属性可以获取数组的长度 console.log(arr.length)

    <script>
          /* Array,Function,JSON Object */
          /* 1.声明一个数组 */
          var arr = [1,2,3,4];
          /* 2.Array.isArray() 判断一个对象是不是一个数组 */
          console.log(Array.isArray(arr))
          /* 3.读取数组的值 */
          console.log(arr[0])
          console.log(arr[2])
          /* 4.length属性可以获取数组的长度 */
          console.log(arr.length)
          /* 5.获取数组的最后一位的值 */
          console.log(arr[arr.length-1])
    </script>
    

    五、函数

  • 是封装一个特定功能的代码块 函数不调用就不会执行

    <script>
          /* 函数:是封装一个特定功能的代码块
             函数不调用就不会执行
              */
         /*  function go(x){
              console.log(x)
          }  
          go(10)   */
          /* Tip:不建议使用这种方式声明 */
    
          var go =function(x){
              console.log(x)
          }
          go(20)
      </script>
    </body>
    
<script>
        /* window
        在javescript 中声明的全局变量是window的属性
        声明的方法是window的方法
         */
        go(10)
        /* Tip:推荐使用这种方式声明
        好处:不用再注意位置关系了 */
        function go(x){
            console.log(x);
        }    
    </script>

六、window

  • 声明的全局变量时window的属性
  • 全局变量:在函数外面定义的变量就叫全局变量

    局部变量:函数里面使用var关键字定义的变量就叫局部变量

    <script>
          var a = 10;    
          console.log(window.a)
      </script>
    

    七、全局变量,局部变量

  • 局部变量在函数内部

    <script>
        var a = 10;
        function go() {
          /* 局部变量 */
          var b = 20;
          console.log(a);
          message = "hi"; //全局变量,省略var操作符,从而创建一个全局变量
        }
          console.log(b);  //错误!!
        console.log(a);
        go();
        alert(message); //"hi"
              var m=12,
            found=false,
            age=22;//使用一条语句定义多个变量,用逗号分隔开即可。
      </script>
    

    八、对象

  • json对象 key,value的形式出现的

  • 2.读取对象属性的值

     console.log(yang.name)
    
  • Tip:如果属性名是变量的情况下,使用中括号去读

     console.log(yang["name"]) 
    
    <script>
          var yang = {
              name:"yanglirong",
              age:20,
              sex:"女"
          }  
          /* 2.读取对象属性的值 */
          console.log(yang.name)
          /* Tip:如果属性名是变量的情况下,使用中括号去读*/
          console.log(yang["name"])  
          /* 3.给对象新添加一个属性 */
          yang.love= "看电影"
          console.log(yang)
          /* 4.读取对象所有的属性 object.keys(obj) */
          console.log(Object.keys(yang))
          /* 5.读取所有对象的value的值 object.values(obj) */
          console.log(Object.values(yang))
          /* 6.for in */
          for(var k in yang){
              console.log(k)
              console.log(yang[k])
          }
      </script>
    

    九、for循环

<script>
        /* 0-10 */
        for(var i=0;i<=10;i++){
            debugger
            console.log(i)
        } 

    </script>

十、严格模式

严格模式是为了Javascript定义了一种不同的解析与执行模型。要在整个脚本中启用严格模式,可以再顶部添加代码:”use strict”
在函数内部的上方包含这条编译提示,也可以指定函数在严格模式下执行

function doSomething(){
    "use strict";
  //函数体
}

支持严格模式的浏览器包括IE10+、Firefox 4+、Safari 5.1+、OPera 12+和Chrome