javascript

来源:互联网 发布:linux dmalloc 编辑:程序博客网 时间:2024/06/06 08:45
     javascript
    
    1.javascript的简介
            
        1.js是什么?
        
            js是一门脚本语言!编程语言!
            js需要嵌入到html中,动态修改html的内容和css的样式!
        
            脚本语言   不需要编译!浏览器直接解析!
            java  -->  .java   .class  运行!
             
            js作用全世界的浏览器!
            
            特点;1.交互性
                 2.安全性  js不能访问本地磁盘
                 3.跨平台  各个浏览器都兼容
            
        
        2.js能做什么?
        
            js需要嵌入到html中,动态修改html的内容和css的样式!
        

        3.js的历史?
        
             Ecma  dom  bom
        4.js的引入方式以及优化思考!!
            
            
            1.内联
              javascript:alert('xxx')
            2.内部
            
              <script type="text/javascript">
            
                function show(){
                    alert("xxxxxxx");
                }
            
            </script>
            
            3.外部
            
               1.外部创建.js结尾的文件  直接写入js代码即可
               2.<script type="text/javascript" src="yinru.js" >   
                </script>
               注意: 不能再引入的js标签中 再添加js代码
               3.js 可以body 也可以在head
               
               在保证效果满足的情况下 后加载js代码!


    2.javascript基本语法
    
        0.注释 // /**/
        
        1.输出语句
           
            //弹出框
            alert("wo yao jinru baidu haha ");
            //后台输出 log输出
            console.log("百度需要我!")//弹出框
            alert("wo yao jinru baidu haha ");
            //后台输出 log输出
            console.log("百度需要我!")
        
        2.声明变量

            var f = 1.1;
            var s = "xxx";
            var i =1;
            var b = true;
            
            b = "xxx"; 全局变量
            
            var x = 10,y=10;
            
            在使用声明  尽量使用局部变量!!
    
            特殊写法:重复赋值!!
            
            var name = "name";
            var name;
            
            
        3.基本类型

           number 数字类型 number
           string 字符串类型 string
           boolean 类型  boolean
           null    类型  object null  ==  ""
           undefined 不存在
           NAN  不是数字类型
           
           VAR typeof 判断类型
           
           /**
             * js中 如果出现浮点类型 那么自动转化
             * number包含 浮点和整数类型
             */
            var count = 1000/30*30;  1000
           
    
        4.类型转化
          1.
            number/boolean 怎么转成string
            .toString();
    
            var num = 998;
            var bool = true;
            
            var result = num.toString();
            
            alert(typeof result);
            
            var bresult = bool.toString();
            
            alert(typeof bresult);
            alert(bresult);
    
    
           string/boolean 转成number
           
            string类型可以转成number但是必须是数字开头,只能解析到数字的部分,如果遇到了字符串的部分,那么停止解析!
            
            boolean 转成number类型 直接NAN
            
            
            100px;
            
            parseInt(100px);
            
           
          2.强制转化

                1.强制转化成boolean
                
                  Boolean();
                     
                     string强转
                        
                        true: 只要内容长度大于0 反之 false
                       
                     number强转
                
                        false: 0  其他就是true
                        
                2.强制转化成number
                
                  Number();
                  
                     boolean
                         true  1 ;
                         false 0 ;
                    
                     string
                          
                          如果字符串内存在不是number的内容,那么转化失败 NAN
                          如果都是number内容,正常转化!
                          
                          
        5.引用数据类型(自定义类型)            

            举个例子: 创建一个对象,name age height say();
            
            js可以理解没有创建类的过程!
            
            
            1.Object
            
                var object = new Object();
                object.name="张三";
                object.age = 18;
                object.height=18;
                object.say = function(){
                    alert("大家好,我是:"+this.name+" 我=今年:"+this.age)
                }
            
               object.say();
                 
            
            2.方法创建对象
              1.创建
             function Person(){
                this.name = "李四";
                this.age  = 18;
                this.shuo=function(){
                    alert(this.name+" 年龄:" + this.age);
                }
                }
                
             2.创建对象    
                var person = new Person();
                person.shuo();
                
            
            3.json创建
            
                http://mobile.ximalaya.com/mobile/discovery/v1/recommend/hotAndGuess?device=android
            
                var ldg = {name:'ldg',yanzhi:'boom',age:18,say:function(){
                  
                      alert(this.name);
                
                }};            
                
                ldg.say();            
                        
        
        6.逻辑运算符
        
            1.赋值运算符
            
              =
            2.算数运算符

              +-*/%    */整数类型会自动转换类型
            
            3.逻辑运算符
              
              || &&
              
            4.比较运算符
              
              > < >= <= == 忽略类型  **** js === 全等 对比类型
            
           5.三元运算符
              
             boolean?值:值
            
           6.void运算符

             <a  href="javascript:void(0)">xx</a>
            
           7.类型运算

              typeof 判断类型
              instanceof 判断类型属于哪种
            
           
        作业:1.完善京东页面!
              2.了解java的四种声明类型
              3.一个数组,使用洗牌算法(使用最少的代码编写一个方法),改变数组的内容顺序!

             String[] arr = new String[]{"","","","",""};
            
             Random random = new Random();
            
             for(int i=arr.lenght-1;i>0;i--){
                
                int rj = random.nextInt(i+1);
                String temp = arr[i];
                arr[i] = arr[rj];
                arr[rj] = temp;
                
             }
            
            
             int [] arr = new int []{1,2,3,4,4,5,6,5,4,3,4}
            
             //去掉数组的 4????

            
            
      7.逻辑语句
      
        1.if else
        2.for / for in        
            
         //for in  
            /*
             * 1.遍历数组 in 下角标
             * 2.遍历属性  in 属性名   引入类型对象[属性名称]
             */
            var  arr = ["我是一个兵",110,"心系老百姓",true,"hhaha"];
            
            for(index in arr){
               
               console.log(arr[index]);
            }
            
            var person= {name:"李杜国",age:20,yanzhi:102};
            
            
            for(attrname in person){
                
                console.log(attrname+"  --> " + person[attrname]);
            }
        
        
         3.switch  
         4.while
         5.try/catch
         
          try{
               sdadkadkadjasd("xxxxx");
            }catch(e){
                //TODO handle the exception
                alert(e.message)
            }  
        
              
           
    3.javascript的内置对象
        
        
        1.Number
          创建方法:
          
            var myNum=new Number(value);
            var myNum=Number(value);

         内置方法
            
            toString
            valueOf
                   
        2.Array  
        
          创建方法:
          
            new Array();
            new Array(size); 如果放置的数据超出了size 那么也正常使用!
            new Array(e,e,e,e,e);
            ["","","","",]
            
            
            concat()     连接两个或更多的数组,并返回结果。
            join()     把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
            pop()     删除并返回数组的最后一个元素
            push()     向数组的末尾添加一个或更多元素,并返回新的长度。
            reverse()     颠倒数组中元素的顺序。
            shift()     删除并返回数组的第一个元素
            slice()     从某个已有的数组返回选定的元素
            sort()     对数组的元素进行排序
            splice()     删除元素,并向数组添加新元素。
            toSource()     返回该对象的源代码。
            toString()     把数组转换为字符串,并返回结果。
            toLocaleString()     把数组转换为本地数组,并返回结果。
            unshift()     向数组的开头添加一个或更多元素,并返回新的长度。
            valueOf()     返回数组对象的原始值    
              
            
        3.Boolean

           创建 Boolean 对象的语法:

            new Boolean(value);    //构造函数
            Boolean(value);        //转换函数   string number强转
        
            
        4.String
        
          创建方式:
          
          String();
          new String();
          
         var str = new String("aaa,xx,xxx,ddd,fff,ccc,gfgg");
         var strs= String("xafghjklmnbvcxzzzzzzsss");
        
         www.xxx.com/img/baidu.png;
        
         lastIndexOf()     从后向前搜索字符串。
         alert(str.length); //获取字符串的长度  27
         alert(str.charAt(4)); //根据位置获取字符 x
         alert(str.indexOf('x')); //根据字符获取位置 4
         alert(str.split(",")[3]);  ddd
         alert(strs.substr(3,6)); //指定截取开始的位置和截取的数量  ghjklm
         alert(strs.substring(3,6));//截取开始的位置,结束的位置 ghj  [)
          
        

        5.Date 用于获取时间
        
         创建方法:
            
            var myDate=new Date()  //当前时间
            --
            var myDate=new Date(1,2,3,4,5,6);  //设置时间    2017,5,1,0,0,0
            1.年 2017
            2.月 0-11   4 设置月份-1
            3.日 4.时 5.分 6.秒    
           
            1970 -时间
            var  myDate=new Date(毫秒);
            
            10:34  5.5       5.6 10:34    1天的毫秒值
            24*60*60*1000
            
            
            Date()     返回当日的日期和时间。
            getDate()     从 Date 对象返回一个月中的某一天 (1 ~ 31)。
            getDay()     从 Date 对象返回一周中的某一天 (0 ~ 6)。    0星期天
            getMonth()     从 Date 对象返回月份 (0 ~ 11)。   月要+1
            getFullYear()     从 Date 对象以四位数字返回年份。
            getYear()     请使用 getFullYear() 方法代替。
            getHours()     返回 Date 对象的小时 (0 ~ 23)。
            getMinutes()     返回 Date 对象的分钟 (0 ~ 59)。
            getSeconds()     返回 Date 对象的秒数 (0 ~ 59)。
            getMilliseconds()     返回 Date 对象的毫秒(0 ~ 999)。
            getTime()     返回 1970 年 1 月 1 日至今的毫秒数。
            toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串
            toString()     把 Date 对象转换为字符串。
            
        6.Math

            Math 对象属性
            属性     描述
            E     返回算术常量 e,即自然对数的底数(约等于2.718)。
            LN2     返回 2 的自然对数(约等于0.693)。
            LN10     返回 10 的自然对数(约等于2.302)。
            LOG2E     返回以 2 为底的 e 的对数(约等于 1.414)。
            LOG10E     返回以 10 为底的 e 的对数(约等于0.434)。
            PI     返回圆周率(约等于3.14159)。
            SQRT1_2     返回返回 2 的平方根的倒数(约等于 0.707)。
            SQRT2     返回 2 的平方根(约等于 1.414)。
            
            Math method
            abs(x)     返回数的绝对值
            ceil(x)     对数进行上舍入。
            floor(x)     对数进行下舍入。
            max(x,y)     返回 x 和 y 中的最高值。
            min(x,y)     返回 x 和 y 中的最低值。
            random()     返回 0 ~ 1 之间的随机数。
            round(x)     把数四舍五入为最接近的整数。
            sqrt(x)     返回数的平方根。
            
            
        7.RegExg 正则表达式
          
          正则表达式 就是用于验证数据是否符合自己定义的规则!  

          
          输入qq邮箱:348088053@qq.com
          
           [] 可以书写的内容
           [^] 不可输入的内容
           [1234]量词
           
           量词
           *   [1234]*    0-n个
           +   [1234]+    1-n个
           {0,}
           {1,}
           {5}
           {5,10}
          
           特殊符号:
           
           @  .    需要添加转移符号  \
          
        


        8.js中的函数

            1.普通方式
            
                function 函数名(参数,参数,参数){
                
                  return xx;
                }
            
            2.匿名方法
            
                1. var method = function(){}  调用 method();
                2. (function(){}()) 边声明变调用
                
            3.Function

                1. var method = new Function("参数"..."方法体");
            
            
            4.参数和返回值
            
              1.方法的参数数量和调用的参数数量可以不相等!
              2.如果调用数量小于方法的参数数量,那么方法后面的参数 undefined;
              3.如果调用的数大于方法的参数数量,那么方法的参数前面正常使用!
              4.arguments [] 参数数组
              5.如果有返回值 直接调用return即可, return 用于打断方法
            
            5.Functions全局函数
              
                decodeURI()     解码某个编码的 URI。
                encodeURI()     把字符串编码为 URI。
                //encode 正转  decode 反转
                
                
                decodeURIComponent()     解码一个编码的 URI 组件。
                encodeURIComponent()     把字符串编码为 URI 组件。
                
                escape()     对字符串进行编码。
                unescape()     对由 escape() 编码的字符串进行解码。
                
                eval()     计算 JavaScript 字符串,并把它作为脚本代码来执行。
                
                eval("var a = 1 ; var b = 2; alert(a+b);");  弹出3
                
                getClass()     返回一个 JavaObject 的 JavaClass。
                isFinite()     检查某个值是否为有穷大的数。
                isNaN()     检查某个值是否是数字。
                Number()     把对象的值转换为数字。
                parseFloat()     解析一个字符串并返回一个浮点数。
                parseInt()     解析一个字符串并返回一个整数。
                String()     把对象的值转换为字符串。
                
    4.javascript的事件
                
                
            1.什么是事件,事件的理解,事件和html的关系!
            
              事件源
              事件行为
              影响
            
            js事件驱动的一种语言!
                
            技巧:根据事件 找到元素 改变属性

            2.js的事件怎么跟标签进行绑定!
            
              1.直接绑定
              
                将事件直接写入到html标签中
                <div onclick="javascript:alert('哈哈')">asdadasdad</div>
              
              2.html内部镶嵌
                  
                   <!--点击div弹出一个alert -->
                    <div onclick="xxx()">hsahdhs</div>
                    
                    <script type="text/javascript">
                        
                        function xxx(){
                            alert("你哈哈哈");
                        }
                        
                    </script>
                
                
              3.外部关联    
              
                 html页面,表面上看和事件方法没有关系!
                div id="d3">847328732会计核算度假胜地</div>
                
                 var d3 = document.getElementById("d3");
                    d3.onclick = function(){
                        alert("外部关联的")
                    }
                
        3.js的事件
        
                        属性     当以下情况发生时,出现此事件     FF     N     IE
            onabort     图像加载被中断     1     3     4
            onblur     元素失去焦点     1     2     3
            onchange     用户改变域的内容     1     2     3
            onclick     鼠标点击某个对象     1     2     3
            ondblclick     鼠标双击某个对象     1     4     4
            onerror     当加载文档或图像时发生某个错误     1     3     4
            onfocus     元素获得焦点     1     2     3
            onkeydown     某个键盘的键被按下     1     4     3
            onkeypress     某个键盘的键被按下或按住     1     4     3
            onkeyup     某个键盘的键被松开     1     4     3
            onload     某个页面或图像被完成加载     1     2     3
            onmousedown     某个鼠标按键被按下     1     4     4
            onmousemove     鼠标被移动     1     6     3
            onmouseout     鼠标从某元素移开     1     4     4
            onmouseover     鼠标被移到某元素之上     1     2     3
            onmouseup     某个鼠标按键被松开     1     4     4
            onreset     重置按钮被点击     1     3     4
            onresize     窗口或框架被调整尺寸     1     4     4
            onselect     文本被选定     1     2     3
            onsubmit     提交按钮被点击     1     2     3
            onunload     用户退出页面     1     2     3     
                
    
            onload     某个页面或图像被完成加载   img图片加载完成  或者 body 页面加载完成
            
            this 代表当前的标签和元素
            
        
         作业: 1. 使用正则表达式 验证输入框 输入的内容,如果不 符合就提示! onchange
                2. 选项卡
                3. 背js的方法 事件 css的属性 html的属性
                4. 写一个页面 fashion
        
        
        
    
    5.javascript bom
    
    6.javascript dom
   
原创粉丝点击