javascript

javascript初学习

  • javascript的学习过程:
  1. 初级学习:es5(esmascript5)、esmascript6、esmascript7、esmascript8

  2. 中级学习:内置对象、自定义对象、dom、bom、事件流、逻辑算法、ajax。其中ajax是学习重点。

  3. 高级学习:继承、原型链、设计模式。
  • javascript的学习方法:

         语法+案例

  • javascript的作用:

        前端html页面的交互,可以实现效果(动画,操作效果)、数据展示、数据验证、访问数据,还可以做小游戏开发,api接口访问,如天气预报和地图api等等

javascript初级学习

    javascript编程语言的嵌入方法

  • 内嵌写法:写到head或者body里面,以script标签的方法去写入
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            /*
            * script标签内部是代码区域
            * */
        </script>
    </head>
    <body>
    
    </body>
    </html>

    其中  type="text/javascript" 可要可不要

  • 外部引入:在head或者body内部进行引入,同样以script标签引入

         建立一个javascript文件,并在head或者body里面加入嵌入代码

 <script type="text/javascript" src="js/index.js"></script>

两种方式都是在script标签内部写入可执行代码

    es5语法

  • 数据类型(6种数据类型)

  1. 数字型 Number

  2. 字符串型 String

  3. 真假型 Boolean

  4. 对象型 Object

  5. 空值引用型 Null

  6. 未定义类型 underfined

    分类:

 

    这里会涉及到数据类型的强制转化,也就是数据的装箱拆箱

  • js声明变量(定义变量)

  1. 变量与常量:变量是可变的量,可写可读。常量是不可变的量,只读。
  2. 声明变量的关键字:var。 一个var全部声明,js严格区分大小写。
  3. 声明变量的语法规则:var 变量名称 是否初始化
     var a;  // 声明但未初始化
     var b=10; // 声明+初始化
  4. 变量的命名      

    驼峰命名:  UserName
    帕斯卡命名: userName
    带符号 _  user_name
    不要重数字

  5.    输出代码到控制台检测:console.log(变量名称)             

                         

    声明变量提前:   

        var stu_1;
        console.log(stu_1);/* underfined */

        var stu_2= '小明';
        console.log(stu_2);/* 小明 */


        console.log(stu_3);/* underfined */
        var stu_3='小李';
        console.log(stu_3);/* 小李 */
        var stu_3;
        console.log(stu_3);/* 小李 */

        执行结果:

   

  • 函数

  1. 函数的关键字:function
  2. 函数的主要功能:代码的封装
  3. 函数的声明:常规函数——function 函数名称(列表参数){代码区域}
  4. 函数的第一种分类:根据函数是否有命名来分类。

           (1)具名函数。

  function method(){

    }

         (2)不具名函数,也叫匿名函数。

第一种

 var fun=function (){
        
    }

第二种

 (function(){

 })
  5.函数的执行:

       

 (1)具名函数的执行:函数名称();

 function method(){

        console.log("我在执行")
    }
    method();

 执行结果:

 (2)不具名函数的执行:

          第一种

 var fun=function (){
        console.log("匿名函数在执行")

  }
  fun();

 执行结果:

 

          第二种:自执行函数

(function(){
        console.log("自执行函数在执行")

})();

执行结果:

   6.函数的声明提前:具名函数具有声明提前,匿名函数不具有声明提前。

   7.函数的第二种分类:根据有无参数来分类。

         (1)带参函数,有参数列表,函数的参数列表是根据自己的需求来写

   function user(a,b,c){
        console.log(a,b,c)
    }
    user(1,false,null);
    

    var fun1=function (a,b,c){
        console.log(a,b,c)
    }
    fun1(1,2,3);


    (function (a,b){
        console.log(a,b)
    })(1,2);

 执行结果:

         (2)不带参函数,没有参数列表。

  function User(){

        console.log(arguments[0],arguments[1]);
    }
    User('小明', '男');

    (function (){
        console.log(arguments[0])
    })(1,2);

执行结果:

    7.函数的第三种分类:根据有无返回值

           (1)有返回值

  var ifon1=function (){
        return true;
    }
    console.log(ifon1());

    var ifon2=(function (){
        return 100;
    })();
    console.log(ifon2);

执行结果:

           (2)无返回值。常规的函数就是无返回值函数。

  • 变量的作用域

  1. 局部变量:作用于当前的代码块区域
     var name="张三";

    name为全局变量

  2. 全局变量:作用于整个作用域,定义的全局变量默认属于window
     function method(){
             var sex="男";
            console.log(name,sex);
        }

    sex为局部变量

  • 数据类型的检测与判断

1. 检测:使用关键字:typeof

<script>
    var a=1;
    var b="abc";
    var c=true;
    var d=null;
    var e={};
    var f=undefined;
    var g=function () {};
    var h=[];

    console.log(typeof a);
    console.log(typeof b);
    console.log(typeof c);
    console.log(typeof d);
    console.log(typeof e);
    console.log(typeof f);
    console.log(typeof g);
    console.log(typeof h);

</script>

执行结果:

2.判断:使用关键字:instanceof----对引用类型有效

 console.log(g instanceof Function);

执行结果:

 

  • 装箱与拆箱

  1. 装箱:值类型转化引用类型
     var str='abc';/*值类型*/
     /*转化引用*/
     var str_1=new String(str);

     

  2. 拆箱:引用类型转化值类型
    console.log(str_1.toString());

     

  3. 数字类型和字符串类型的转化

     var s='1234.11';
        console.log(parseInt (s));/*转化为数字类型,取整*/
        console.log(parseFloat (s));/*转化为数字类型*/

    执行结果:

        

  • 闭包

  1.   概念:  把局部变量闭包成当前作用域的私有变量
  2.   优点:把局部变量拿到作用域的外部使用。
  3.   缺点:闭包的变量会存到内存里面 , 大量使用闭包会导致内存泄漏。
  •   js的运算符,结构语句

  1. 算数运算符:  + - * /  %  =  ==  ===  ++  -- = == ===,其中=赋值; == 判断两边值相等,但不限定类型;=== 恒等 ,判断两边值和类型相等                                                                                  注意:++自增+1,--自减-1 。需要注意是前置还是后置,前置是先自增或自减在运算;后置是先运算,在自增自减
  2. 逻辑运算符:&&两者都;|| 两个满足其一; !  取反面。数字里面   0为false  非0为true。
  3. 比较运算符:>  <  >=  <=  !=
  4.   三元运算符: 简写版的逻辑结构:  可以使用到方法内部-----条件?true:false
  5.  逻辑结构 (条件)
    ​
      if(){}
      if(){}else{}
      if(){}else if(){}else{}
    
    ​

     

  6. 选择结构

    switch(属性){
        case: break;
        case: break;
        case: break;
        default: break;
      }

     

  7.  循环语句: 

         (1)for  循环

     for(变量;条件;变量自增或自减) 
      {

      }

         (2)while循环

while(){}  先判断后执行
do{} while()  先执行后判断  至少执行一次

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值