zoukankan      html  css  js  c++  java
  • javascript

    Javascript概述
    a.一种基于对象和事件驱动的脚本语言
    b.作用: 给页面添加动态效果
    c.历史: 原名叫做livescript.W3c组织开发的标准叫ECMAscipt.
    d.特点:
      1). 弱势语言
      2). 由浏览器直接解析执行。(函数不能直接执行)
      3). 是一个解释性语言
          4). 交互性(它可以做的就是信息的动态交互)
          5). 安全性(不允许直接访问本地硬盘)
          6). 跨平台性(只要是可以解释Js的浏览器都可以执行,和平台无关
     
     javascript和java的一些区别:
          1). javascript是一个解释性语言,java是编译解释性语言
          2). javascript是一个弱势语言,Java是一个强势语言
          3). 在页面上引入的方式不同javascript代表用<script>引入,Java代码<%>
          4). JS是基于对象,Java是面向对象。
     
    JavaScript语言组成
            EcMAScript  + BOM + DOM 
    ECMAScript: 规定了一些语法,变量,for循环等等结构
    BOM: Browser  object  Model 浏览器对象模型
    DOM: Document  object  Model 文档对象模型
     
    JavaScript与Html的结合方式
    Javascript与HTML的结合方式有三种:
    1.采用事件来调用,代码写在字符串中
    <button onclick = "alert("大家好")">点击</button>
    2.采用定义函数的方式: 用function来定义函数 
    function fun(){ alert('你好')} ;
    3.采用外部js文件.
    利用<script type="text/javascript" src = "a.js"></script>引入
     
    JavaScript基本语法
    定义变量:采用var关键字来定义.定义的变量的类型是由给定的值来决定的。
    数据类型:    
                               a.   undefined,表示未定义类型。
     Number类型。代表了一切数字类型
     String类型。字符串类型
     Boolean类型。布尔类型
     Function类型。函数类型
     Null类型。   
       b.  object :对象类型.
             判断变量的类型 : 
    1. typeof(变量) :  返回的是类型的tostring方法(类型的小写字符串)
    2. instanceof :  判断的是变量是不是由类型new出来的
     
     三大结构
    a.顺序结构
    b.选择结构
    c.循环结构 for,while,do...while
     
         运算符
    1.一元运算符 +(正号) -  ++ -- 
    2.二元运算符 +(加法) - * / %
    3.三元运算符 ? :
    4.等号  == 判断的是内容,=== 全等于 ,判断类型和内容
     
         类型的转换
    1. Number转String : 3 + ""
    2. Number转Boolean :在javascript中,非0为真,0为假。如果变量为null或者undefined,也为假.
    3. String转Number:
            a. parseInt,parseFloat
            b. 乘以1即可
     
    JavaScript 函数的定义
     函数的定义有三种方式: 
    1. 采用关键字function定义: 
    2. 采用匿名函数的方式: 用function关键字充当函数名字
    3. (了解) new Function()的方式: 最后一个参数字符串是函数体,其他的参数都是形参
     
     函数的调用:
    1.函数调用的时候参数可以传递多个,可以和函数定义的形参个数不符合
    2.如果函数重名了,那么调用的时候一定是调用最后一个,与参数无关。
    ***** 推荐: 定义函数的不要重名。
     
             函数的劫持 : 即改变函数本身的作用。
                例:window.alert = function fun(e){
    document.write(e);
    }
    alert("注意,函数已被劫持!!!");
     
    JavaScript全局函数
                    1.isNaN (not a Number):用来判断变量是否是数字类型的字符串
                        例: var v= "536";
                alert(isNaN(v));
     
    2.parseInt,parseFloat
                        例:var v= "536";
    alert(parseInt(v));
    alert(parseFloat(v));
     
    3.eval: 把字符串转换成数字
                        例: var v= "5*5";
                alert(eval(v));
     
    4.escape(): 编码
                        例: var v= "中国";
                alert(escape(v));
     
    5.unescape(): 解码
                        例:var v= "中国";
    document.write(escape(v));
    alert(unescape(v));
     
    6.encodeURI(): 对网址(URL)进行编码
                        例: var v= "http://www.baidu.com?a=中国";
                alert(encodeURI(v));
     
    7.decodeURI(): 对网址(URL)进行解码
                        例:var v= "http://www.baidu.com?a=中国";
                               var en = encodeURI(v);
                               alert(decodeURI(en));
     
    JavaScript常用对象
                Array对象 数组对象,进行数组操作,数组的长度可以随时改变,里面可以存放任意不同种元素。
    定义方式:
    1.采用new的方式
                                    例:var arr = new Array(); arr数组长度为0;
                            var arr1 = new Array(3); arr1数组长度为3;
                            var arr2 = new Array(5,6,7); arr2数组长度为3,里面元素为5,6,7
     
    2.采用中括号[]来定义
                                    例: var arr = [3];
                            alert(arr.length);
                            alert(arr[0]); 定义一个arr数组长度为1,0角标元素为3。
                    
                            二维数组的定义方法,javascript不能直接定义二维数组。
                                    例: var arr = ["中国","美国","日本"];
                            arr["中国"] = ["北京","上海","山东"];
     
    特点: 
    1.javascript中数组的大小可以随时改变
    2.javascript中数组的下标可以是任意对象。
     
    方法: 
    1.join() : 把数组的所有元素放入一个字符串. 默认用逗号连接
                                    例: var str = ["东营","烟台","青岛","济南"];
                            alert(str.join());
                            alert(str.join("---"));
                    
    2.push() : 向数组的末尾添加一个元素
                                    例: var str = ["东营","烟台","青岛","济南"];
                            alert(str.push("china"));
                            alert(str.join());
     
    3.reverse() :反转
                                    例: var str = ["东营","烟台","青岛","济南"];
                            alert(str.reverse());
     
    4.shift() : 删除并返回数组的第一个元素
                                    例: var str = ["东营","烟台","青岛","济南"];
                            alert(str.shift());
                            alert(str.join());
     
                    练习:标题的轮播
                   function fun(){
    //获得title的对象
    var title = document.title;
    //拆分成数组
    var arr = title.split("");
    //删除第一个元素
    var first = arr.shift();
    //把删除的元素放到最后
    arr.push(first);
    //合并元素为一个字符串
    title = arr.join("");
    //设定title
    document.title = title;
    //设定0.5秒运行一次
    setTimeout("fun()",500);
    }
     
    fun();
     
    String对象 ----- 字符串类型的引用类型
    String对象: 
    方式: substr: 截取字符串 两个参数第一个是下标,第二个是长度
                                                    例: var str = "hello";
                                            alert(str.substr(1,3))
                    
    substring: 截取字符串 两个参数第一个是下标,第二个是下标
                                                    例: var str = "hello";
                                            alert(str.substring(1,3));
     
    toUppercase:转换成大写
                                                    例: var str = "hello";
                                            alert(str.toUpperCase());           
            
    toLowercase:转换成小写
                                                    例:var str = "Hello";
                                           alert(str.toLowerCase());
     
    indexOf:返回括号里面的角标
                                                    例: var str = "Hello";
                                            alert(str.indexOf("e"));
     
    charAt() :返回制定角标的字符
                                                    例: var str = "Hello";
                                            alert(str.charAt(2));
     
    replace():替换
                                                    例: var str = "Hello";
                                            alert(str.replace("e","o"));
     
                            例:改变字体大小粗细
     
                                    <!doctype html>
     <html lang="en">
     <head>
      <meta charset="UTF-8">
      <meta name="Generator" content="EditPlus®">
      <meta name="Author" content="">
      <meta name="Keywords" content="">
      <meta name="Description" content="">
      <title>javascript</title>
      <script type="text/javascript">
      <!--
    function fun(){
    var str = document.getElementById("china").innerHTML;
    string = str.big();
    document.getElementById("china").innerHTML = string;
    }
     
    function fun1(){
    var str = document.getElementById("china").innerHTML;
    string = str.bold();
    document.getElementById("china").innerHTML = string;
    }
      //-->
      </script>
     </head>
     <body>
      <p id = "china">china</p>
      <input type="button" value="big" onclick="fun()">
      <input type="button" value="bold" onclick="fun1()">
     </body>
    </html>
     
    Number对象 ---- 数字原始类型引用类型
    Num对象:
    1. random() : 获得随机数[0,1)
                                                例:alert(Math.random());
     
    2. ceil() : 返回大于等于次数的最大整数
                                                例:alert(Math.ceil(Math.random()*3));
     
    3. floor() : 返回小于等于次数的最大整数
                                                 例:alert(Math.floor(Math.random()*3));
     
    4. round(): 返回四舍五入后的整数
                                                例:alert(Math.round(Math.random()*3));
     
    Boolean对象 ---- 布尔原始类型引用类型 
    Math对象 ---- 执行数学任务
    Date对象 用于处理日期和时间
    Date对象: 代表一个时间
    例:    var date = new Date();
     
    alert(date); //返回带有时区的时间字符串
    alert(date.toLocaleString()); //返回按照时区格式化之后的时间字符串
    alert("年份:"+date.getYear());//返回第几年
    alert("月份:"+date.getMonth()+1); //返回月份,符合中国人习惯要加1
    alert("周"+date.getDay());//返回周几
    alert("今天是一个月的"+date.getDate()+"号");//返回第几天
     
    RegExp 对象正则表达式对象 
    正则表达式
    写法: 1. new的方式  
                                                例:     var reg = new RegExp("\d");
    var str = "536good";
    alert(reg.test(str));//是否包含
    alert(reg.exec(str));//返回一个数组,长度为一,数组里面装的是满足正则里面的第一个字符串。
     
               2. 采用/正则表达式/ (推荐) 
                                                例:     var reg = /.../;
                                            var str = "536";
                                            alert(reg.test(str));
                                            alert(reg.exec(str));
     
                                                            var reg = /(..)./;
                                            var str = "536";
                                            alert(reg.exec(str)[0]+"....."+reg.exec(str)[1]);//当正则表达式中存在子表达式时,数组长度不为1 ()代表子表达,子表达式的含义是对匹配的结果进行下一次匹配
     
     
     
     
     
     
     
     
  • 相关阅读:
    57-java 开发环境配置,mysql解压版安装
    56-MyBatis关联映射之一对多映射
    55-mybatis dao 和 映射xml
    54-jquery发送请求 json 转化等
    58-wxPython 嵌入html页面
    57-2015-第六届蓝桥杯国赛 java B组真题与解析
    【读书笔记】Effective Modern Cpp(二)
    【读书笔记】Effective Modern Cpp(一)
    【剑指offer】汇总
    【剑指offer】序列化二叉树
  • 原文地址:https://www.cnblogs.com/runwind/p/4214441.html
Copyright © 2011-2022 走看看