zoukankan      html  css  js  c++  java
  • JavaScript 基础入门篇(一)

    本文章简单的介绍了关于javascript入门相关基础知识,包括有变量的声明 变量的作用域 传值和传址 基本类型和引用类型 等。
    -
    -
    一、数据类型和值

     javascript:允许使用3种基本类型数据--------数字、字符串、布尔值,此外还支持两种小数据类型null(空)和undefine(未定义).
     javascript:还支持符合数据类型-对象(object),javascript中对象分两种,一种对象表示的已命名的值的无序集合,另一种表示有  编号的值的有序集合。其实有序集合就是数组(Array)。
     javascript:还定义了另一种特殊对象----函数,还有一些javascript定义的一些专用对象(等同C#封装的类一样的概念,直接用就行)
    <script>
      整型直接量:3或者10000,说白了就是数字
      浮点型直接量:3.14,2345.567等,就是带小数点的
      字符串直接量:"3.14","demo"等,所谓字符串,就是带单引号或双引号括起来的Unicode字符序列。
     
      把数字转换为字符串:1,var s = 100; s+="What you name";数字就会先
                           转换成字符串
                          2,var s = 100 +"";加一个空字符串
                          3.要让数字更显示的转换为字符串可以使用 String()函数或
                          者使用toString函数。
      把字符串转换为数字:var product = "2" * "2";其实当一个字符串用于数字环
      境 中它会自动地转换成一个数字,也可以通过减0也可达到同样的效果,或者使用
       Number()函数
      布尔值:
      在这里我想和大家分享的内容还是转换:今后用的会比较多。1、当一个布尔值用在数字环境中,true就转换为数字1,而false转换成数字0,在字符串环境中,true就转换成字符串true,而false就转换成字符串false
     函数:
      函数是一个可执行的JavaScript代码段。这里说一下:函数作为数据类型,也可以像其他类型一样赋给对象的属性,当赋值成功后,属性常常当做是哪个方法的引用。后面常用。
      函数直接量:var square = function(x){return x*x};//后面常用到,要能理解或记住
     </script>


    Javascript:二、对象
      1、对象

    <script>

     var o = new Object();//大家注意,javascript大小写敏感!
     var now = new Date()
     var regex = new RegExp("^+?d{1}d{3}$")//正则表达式
     对象的直接量:
     var point = {x:12,y:34};
     var point2 = {"super":{day:sunday,day1:monday}}//对象的属性引用另一个对象。
     

     对象的转换:
     当一个非空的对象用于布尔环境时:它转换为true,当用在字符串环境中是,javascript会调用对象的toString()方法,并且使用该函数返回的值,当用于数字环境时:javascript 会调用该对象的valueOf()方法,如果返回的是一个基本类型,这个值会被使用,大多数的时候返回的是对象自己,这种情况下javascript回调用toString()方法把对象转换成一个字符串,然后在试图转换成数字。这上面的概念,希望大家也要理解,以后会用到。
     </script>

     2、数组

     <script>
    var array = new Array();
    var arr = new Array(1.2,"Javascript",{x:12,y:23})//带参数的
    数组直接量:
    var a = [1.2,"Javascript",{x:12,y:23}]//数组是[]号,对象是{}号,很好记!
    </script>
     


    3、Null(空)

    javascript的关键字Null 是一个特殊的值,它表示无值,null 常被看作对象类型的一个特殊值,即代表无对象的值,当一个变量的值

    为null,那么就说明它的值不是有效的(Array,Object,数字,字符串,布尔值), 细节:null 在布尔环境中它转换成false;在数字

    环境中转换成0。

    4、Undefined(未定义)

    在使用一个并未声明的变量时,或者使用了已经声明的变量但没有赋值的变量时,又或者是使用一个并不存在的对象属性是,返回的

    就是undefined值,在往后的(命名空间,模块用的还是蛮多,大家要理解),细节:underfined在布尔环境中它转换成false,在数字环境

    它会转换成NaN。这一点和null有区别。封装它的对象是Error。


    基础篇
     javascript:变量的声明
    以下是几种声明变量的方式 var value; var value,value1,value2;//同时声明多个变量,但是这些变量的值都是undefined var i = 0,j = 0,k=100;//变量声明,初始化一体。 //如果大家尝试读一个不存在的变量(值)会报错!但是尝试给一个未使用Var声明的变量赋值,javascript //会隐式的声明改变量,而且声明了的变量还是全局的。细节:所以大家创建变量都尽量使用Var //变量的作用域(这个问题也容易出,大家要搞明白)

    javascript:变量的作用域
     这些都是细节,和我一样初学的一定要注意避免!
     

     代码如下 复制代码
    var golbal = "golbal"; //全局变量
     var local ="local";
    function area()
     {
    //局部变量的优先级比全局变量的高
    var local = "arealocal"
    //当函数体内声明的变量名和全局变量名相同时,javascript 会隐藏全局变量
    var golbal ="http://www.hzhuti.com/nokia/n97/";
              
    document.write("local is :"+local + "and golbal is :" + golbal +"<br />");
     }
            
    area();
     

    //输出:local is :arealocaland golbal is :http://www.hzhuti.com/nokia/n97/


     在嵌套的函数里面定义局部变量,效果会怎么样呢?看下面:

     代码如下 复制代码
    var hope = "moremoney";
    function createmore()
    {
    var hope = "have more money";//局部
    function createmoreto()//嵌套函数
    {
    var hope = "have more money to much";//局部
    document.write("Createmoreto hope is :"+hope +"<br />");
      //输出:Createmoreto hope is :have more money to much
    }
     createmoreto();//调用
     document.write("Createmore hope is :" +hope +"<br />");
    //输出:Createmore hope is :have more money
    }
     createmore(); //调用
     


    javascript:传值和传址
     这里也是比较重要的概念!不要漏了。
    传值                                           传址
    复制     实际复制的值,存在不同的、                  复制的只是对数字的引用。如果通过这个
             独立的拷贝。                               新的引用修改了数值,这个改变对最初的
                                           引用来说也是可见的。

    传递     传递给函数的是值的独立拷贝                传递给函数的是对数值的引用,如果函数
             对它的改变在函数外没有影响                通过传递给它的引用修改了数值,这个改
                                          变也是可见的。              

    比较     比较这两个对立的值,通常逐                比较的是两个引用,以判断它们引用的是否
             字节的比较,以判断是否相等                是同一个数值。

    javascript:基本类型和引用类型
     javascript的基本规则是:基本类型通过传值来操作,引用类型通过传址来操作。(什么事值类型,或者什么事引用看我上一篇)


    按值传递
     

    var value = 1;
     var copyvalue = value; //将value赋给另一个变量
      function addTotal(total,arg)
      {
     total+= arg; //total = total + arg 效果等同
     }
     //调用函数,传两个参数(大家可能会认为这个函数改变了全局变量的值,其实没有,函数用的也是对立拷贝)
     addTotal(value,copyvalue);
     if(value == 1) copyvalue = 2;
     document.write("total t" + value + "and copyvalue tt" + copyvalue+"<br />");
     //最后输出:total 1and copyvalue 2

     
     

    按址传递


     var array = new Array("Javascccp");
     var objarray = array;
     function modifyArray(arr)
     {
     arr[0] = "JAVASCRIPT";
     }
     //没调用函数前
     document.write(array[0] +"<br />");
     //输出Javascccp;
     //调用函数后
     modifyArray(array);
     document.write(array[0]+"<br />");
     //输出大写JAVASCRIPT
     //通过修改objarray会是一样的效果
     objarray[0] = "Frank";
     document.write(array[0]+"<br />");
      //输出Frank;

    更多详细内容请查看:http://www.111cn.net/wy/js-ajax/42365.htm

  • 相关阅读:
    计算机基础学习路线路线详情:4步骤·5门课
    python课程体系是怎么样的?
    老猿学5G扫盲贴:中国移动5G融合计费漫游计费架构和路由方案
    老猿学5G扫盲贴:中国移动网络侧CHF主要功能及计费处理的主要过程
    moviepy音视频剪辑:moviepy中的剪辑相关类及关系
    老猿学5G扫盲贴:与用户和终端相关的名词UE、SUPI、GPSI、PEI
    PyQt+moviepy音视频剪辑实战文章目录
    PyQt+moviepy音视频剪辑实战2:一个剪裁视频文件精华内容留存工具的实现
    PyQt+moviepy音视频剪辑实战2:实现一个剪裁视频文件精华内容留存工具
    PyQt+moviepy音视频剪辑实战1:多个音视频合成顺序播放或同屏播放的视频文件实现详解
  • 原文地址:https://www.cnblogs.com/phpfans2012/p/2443324.html
Copyright © 2011-2022 走看看