D1V1网社区 @开门芝麻网 吃饭赚钱 睡觉赚钱 做梦赚钱 http://sns.d1v1.com & http://www.KaiMenZhiMa.com/

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2848|回复: 0

JavaSript语法 定义变量方式

[复制链接]
发表于 2013-12-18 11:31:59 | 显示全部楼层 |阅读模式 <
开门芝麻网
连劲智播AI智能自动播实景无人直播(APP免费注册下载)http://kaimenzhima.com/forum.php?mod=viewthread&tid=1
JavaSript语法一.  定义变量方式
1.隐式定义变量
    a  = "Hello JavaScript";     //js为弱类型语言,可以不用声明数据类型
2.显式定义变量
    var b = "Hello JS";            //显示定义变量使用关键字“var”进行修饰
注意: javaScript是区分大小写的

二.类型转换
1.自动类型转换
        /**
         *    对于减号运算符,由于字符串不支持减法算术运算,所以系统自动将
         *  字符串转换为数值;
         *  对于加号运算,因为字符串加号作为连接符,所以系统自动将数值转换
         *  为字符串进行连接运算。
         */
        //定义字符串变量
        var a = "3.145";
        //让字符串遍历执行算术运算
        var b = a -2;
        alert("这里减号执行算术运算"+b);
        var c = a+2;
        alert("这里加号执行的是字符串连接"+c);
   
强制类型转换函数
toString() 将布尔值、数值转换为字符串,转换结果为Object
parseInt() 将布尔值、数值转换为整形
parseFloat() 将布尔值、数值转换为浮点数

三。变量

     //定义全局变量
        var test = "全局变量";
        function checkCode()
        {
            /**
             *输出结果为undefined,因为局部变量覆盖了全局变量且作用范围为整个函数内,
             *当输出语句执行时局部变量尚未赋值,所以输出undefined
             */
            alert(test);
            var test = "局部变量"
            
        }
        checkCode();

四.字符串类型的操作
         //大小写转换
        var a = "afsdfadsfsdfjsdjf";
        alert(a.toUpperCase());
        var b  = "asdjlAdsjlAJIAJLJ"
        alert(b.toLowerCase());
        
        //获取指定索引处的值
        alert(a.charAt(2));

        //返回索引处执法的unicode值
        document.writeln("返回索引处执法的unicode值"+a.charCodeAt(2)+"<br/>");
        //将unicode值转换为字符串的静态方法
        var unicode = a.charCodeAt(2);
        document.writeln("将unicode转换为字符"+String.fromCharCode(unicode)+"<br/>");
        //indexOf和lastIndexOf
        var str = "adsfdasfasdsfjjwoejflsnaf";
        //返回字符第一次出现的顺序
        document.writeln("第一次出现位置"+str.indexOf("a")+"<br/>")
        //返回字符最后一次出现的顺序
        document.writeln("最后一次出现位置"+str.lastIndexOf("a")+"<br/>");
        //返回字符串的某个子串substring()slice()<支持负数>
        var tt = str.substring(0,3);
        document.writeln("sunString()取字串"+tt+"<br/>");
        //slice()
        document.writeln(str.slice(-2,3));
        document.writeln("slice()取字串"+str.slice(-2,-1)+"<br/>");

        //字符串连接和替换
        var a1 = "abb";
        var a2 = "bcs";
        document.writeln("连接"+a1.concat(a2)+"<br/>");
        document.writeln("替换"+a1.replace('a','c')+"<br/>");


        //match()和search()都支持使用正则表达式作为字串
        //match()返回匹配的子字符串,serarch()返回字串匹配的索引值
        var mail = "*#sa@163.comsdfjo";
        document.writeln("match()返回匹配子串:"+mail.match(/\w{1,5}@\d{1,4}\.[com|cn|net]{1,4}/)+"<br/>");
        document.writeln("search()返回匹配子串索引:"+mail.search(/\w{1,5}@\d{1,4}\.[com|cn|net]{1,4}/));

五。 正则表达式
正则表达式的“通配符”
   
频率修饰符
字符 说明
? 0次或一次
* 0次或多次
+ 一次或多次
{m,n} 最少出现m次,最多出现n次

六。复合类型

javascrip大致有三种复合类型:
1.   Object:对象
2.   Array :数组
3.   Function:函数

Object :对象
      对象是一系列命名空间和函数的集合。其中的命名空间可以是基本数据类型,也可以是复合类型。对象中的变量成为属性,
而对象中的函数成为方法。例如,下面利用对象访问属性获取里浏览器的版本:
     var version = navigator.appVersion;
     document.writeln("浏览器的版本为:"version);
javaScript提供下面常用内置对象:
Array:数组类
Date:日期类
Error:错误类
Function:函数类
Math:数学类,包含常用数学运算方法
Number:数值类
Object:对象类
String:字符串类

数组:
/**
      *数组的三大特征
      *JS数组长度可变
      *数组内元素可以互不相同
      *访问数组不会出现越界,范围为赋值数组元素时,该元素值为undefined
      */
  //定义数组的三种方式
     var a = [12,23,53,21];  //数组直接复制
     var b = new Array();    //声明一个空数组
     var c = [];            //声明一个空数组
//直接给数组赋值
     for(var i = 0;i<10;i+)
     {
        b=i;
     }

函数:

1.局部函数

/**
       *局部函数,外部函数调用局部函数不能获得执行的机会
      */
      function out()
      {
        document.writeln("全局函数<br/>");
        function inner1()
        {
            with(document)
            {
                writeln("局部函数1<br/>");
            }
        }
        //调用局部函数1
        inner1();
        function inner2()
        {
            document.writeln("局部函数2<br/>");
        }
        //调用局部函数2
        inner2();
      }
      //这里调用全局函数
      document.writeln("调用全局函数<br/>");
      out();
      //外部函数范围局部函数报错
     //   inner1();

2. 匿名函数

   //定义匿名函数
        var fun = function ()
        {
            with(document)
            {
                writeln("匿名函数");
            }
        }

        //调用匿名函数
        fun();

3.函数和类

/*
     *函数(Function)不仅是函数,更是一个类,调用函数有两种方法
     */

     //匿名函数
     var fun = function()
     {
        this.a = "实例属性";
        var b = "局部变量"
        
        //为该函数定义一个实例方法
        this.info = function()
        {
            document.writeln("调用了匿名函数的实例方法");
        }
        //return放在函数执行语句最后
        return "匿名函数返回值";
     }
     //直接调用函数,返回return值
     var r = fun();
     document.writeln(r+"<br/>");
     //new 函数返回该函数的对象
     var obj = new fun();
     document.writeln(obj+"<br/>");
     //利用返回对象范围函数实例属性
     document.writeln(obj.a);
     //下面语句范围局部属性出错
     // document.writeln(obj.b);

     //调用匿名函数返回
     obj.info();

4.函数实例属性和静态属性
/**
       *局部变量:函数中用var修饰的变量
       *实例属性:函数中用this修饰的属性
       *静态属性: 函数中用函数名修饰的属性
       *下面是例子:
       */
       var fun = function()
       {
        //定义局部变量
        var a = "局部变量";
        //定义实例属性
        this.b = "实例属性";
        //定义静态属性
        fun.c = "静态属性"
        //定义实例方法
        this.d  = function()
        {
            with(document)
            {
                writeln("aaaaaaaaaaaa");
                writeln("bbbbbbbbbbbbbbb");
                writeln("ccccccccccccccc");
            }
        }
       }

       //范围函数属性
       var obj = new fun();
       //访问实例属性
       alert(obj.b);
       //访问静态属性
       alert(fun.c);
       //调用实例方法(引用)
       alert(obj.d);
       //调用实例方法(执行)
       alert(obj.d());


       /*
        * 为对象obj动态添加属性(不覆盖原有属性)
        */
       obj.student = "cxb";
       alert(obj.student);
       alert(obj.b);

5.基本类型和复合类型的参数传递
/**
         *基本类型值传递模式(变量a本身并未传入函数内,传入的仅是变量a的副本)
         */
         var fun = function (b)
         {
            b = 5;
            document.writeln("基本在函数类重新赋值为:"+b+"<br/>");
         }

        var a = 10;
        document.writeln("基本传递前:"+a+"<br/>");
        fun(a);            
        document.writeln("基本传递后:"+a+"<br/>");

        /**
         *复合类型值传递模式(对象persion的副本传入函数并赋值为null)
         */
            
         //使用JSON定义一个
         var persion = {
            name : "cxb",
            age : 23,
            gender :"man"
         }
         //定义一个函数,传入persion
         var oo = function (persion)
         {
            persion = null;
         }

         //传递前
         document.writeln("传递前"+persion.name+"<br/>");
         oo(persion);
          //传递后
         document.writeln("传递后:"+persion.name);

6.为函数动态添加方法和属性
var fun = function()
    {
        document.writeln("调用fun函数");
    }
   
    //为fun函数添加方法
    fun.prototype.process = function()
    {
        document.writeln("为函数添加的方法");
    }
    //为fun函数添加对象
    fun.prototype.objs = {
        name : "cxb",
        age : 23,
        gender : "man"
    }

    //调用
    var obj = new fun();
    obj.process();
    var objs = obj.objs;
    //遍历输出对象
    for(p in objs)
    {
        alert(objs[p]);
    }

7.创建对象的两种方式
//创建对象有两种方式1.直接new Objecr 2.JSON

    //直接new Object

    var person = new Object();
    person.name = "cxb";
    person.age = 18;
    person.gender = "男";

    for(p in person)
    {
        document.writeln(person[p]+"<br/>");
    }

    //采用JSON创建对象数组

    var obj = {
        name : "cxb",
        age : 18,
        gender : "男",
        fav : [
        {
         name : "北京",
         age : "上海",
         gender : "广州"
        }
        ,
        {
            name : "北京",
            age : "上海",
            gender : "广州"
        }
        ]
        ,
        psw : "123456"
    };
   
    for(c in obj)
    {
        
        if(obj[c] instanceof Object)
        {
            for(ct in obj[c])
            {
                var oo = obj[c];
                var oot = oo[ct];
                if(oot instanceof Object)
                {
                    for(t in oot)
                    {
                        document.writeln(oot[t]+"<br/>");
                    }
                }
               
            }
        }else
        {
            document.writeln(obj[c]);
        }
        
    }






开门芝麻网
部分内容由网友发布或收集于互联网,如有侵权,请联系QQ/微信76815288,第一时间删除!(开门芝麻网 sns.d1v1.com)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
在线客服
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
售前咨询热线
400-888-xxxx

微信扫一扫,私享最新原创实用干货

QQ|申请友链|Archiver|手机版|小黑屋|D1V1网社区 @开门芝麻网 ( 沪ICP备15050032号-2 )

GMT+8, 2024-5-5 04:02 , Processed in 0.151455 second(s), 31 queries .

Powered by Discuz! X3.4 Designed by www.D1V1.cn

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表