• 02.JavaScript基础上


    JavaScript组成
    ECMAScript:解释器、翻译 。平时我们写的代码都是用英文数字之类,而计算机只能读懂0和1,ECMAScript可以把我们写的翻译给计算机,把计算机写的传达给我们
    DOM:Document Object Model   文档对象模型     HTML        document    DOM操作HTML的能力
    BOM:Browser Object Model      浏览器对象模型  各浏览器     window

    ECMA 几乎没有兼容性问题
    DOM 有一些操作不兼容
    BOM 没有兼容问题(完全不兼容)

    DOM : Document Object Model 文档对象模型
    文档:html页面
    文档对象:页面中元素
    文档对象模型:定义 为了能够让程序(js)去操作页面中的元素

    DOM会把文档看作是一棵树,同时定义了很多方法来操作这棵数中的每一个元素(节点)
    DOM节点

    getElementById
    getElementByTagName
    document
    document.body

    变量类型

    变量本身没有类型,看它存的值

    常见类型: number、string、boolean、undefined(真的没定义/定义了没存东西)、object、function
    一个变量应该只存放一种类型的数据

    测试类型方法:typeof

    <script>
    var a=12;
    //alert(typeof a);    //number
    
    a='asdfasd';
    //alert(typeof a);    //string
    
    a=true;
    //alert(typeof a);    //boolean
    
    a=function ()
    {
    alert('abca');
    };
    //alert(typeof a);    //function
    
    a=document;
    //alert(typeof a);    //object
    
    alert(typeof b);    //undefined 没定义
    var b;
    alert(typeof b);    //undefined
    
    //1.真的没定义
    //2.虽然定义,没有给东西
    </script>

    类型转换

    parseInt()把字符串转换成整数(只能转换成整数)
    parseFlaot()把字符串转换成整数小数都适合

    从左到右提取遇到不是数字立刻跳出去例如12px提取是12,12px34提取的是12遇到不是数字的跳出去

    var a='12px'; alert(parseInt(a)); 弹出的是12
    var a='12px34'; alert(parseInt(a)); 弹出的是12
    var a='abc'; alert(parseInt(a)); 弹出的是NaN Not a Number 不是数字
    var a=parseInt('abc'); var b=parseInt('def'); alert(a==b); 弹出来的是false //NaN和NaN不相等

    检测一个结果是不是数字   isNaN非数字

    var a=parseInt('abc'); alert(isNaN(a))     弹出的是true   不是数字
    var a=12; alert(isNaN(a))                        弹出的是false  是数字

    显示类型转换和隐式类型转换
    显示类型转换(又叫强制类型转换)告诉计算机去转换 例如parseInt() parseFlaot()
    隐式类型转换:没有告诉计算机去转,计算机自动转换
    var a=5; var b='5'  alert(a==b) 弹出的结果是true       计算机自动先转换类型 在比较
    var a=5; var b='5'  alert(a===b) 弹出的结果是false    计算机自动不转换类型直接比较
    var a='12'; var b='5'  alert(a-b) 弹出的结果是7            计算机自动先转换类型在做运算

    在js中 减号只有一种功能那就是做减法运算,而加号有两种功能一个是字符串连接,另一个就是加法运算
    var a='12'; var b='5' ; alert(a+b) 弹出的结果是125                                    字符串连接  
    var a='12'; var b='5';  alert(parseInt(a)+parseInt(b)) 弹出的结果是17       先强制转换成数字在做加法运算  

    变量作用域(变量能起作用的范围)
    局部变量

    <script>
    function aaa(){
         var a=12;//局部变量 只能在定义它的函数里面使用(但是也有例外就是闭包)
    }
    function bbb(){
        alert(a);
    }
    aaa();
    bbb();  // 弹出报错是"a"未定义 a定义在函数里面
    </script>

    全局变量

    <script>
    var a;//全局变量在所有函数外面定义:在任何地方都能用
    function aaa(){
         a=12;
    }
    function bbb(){
        alert(a);
    }
    aaa();
    bbb();   //弹出12  a定义在函数外面
    </script>

    闭包

    <script>
    //子函数可以使用父函数的局部变量
    function aaa()        //父函数
    {
        var a=12;    
        function bbb()    //子函数
        {
            alert(a);
        }    
        bbb();
    }
    aaa();
    </script>

    命名规范

    可读性——能看懂
    规范性——符合规则

    匈牙利命名法
    类型前缀 例如 aDiv 代表数组 oDiv代表的是对象

     首字母大写
    例如 oDivUserLogin 比 odivuserlogin都是小写的可读性更高





     








     

  • 相关阅读:
    js---11闭包
    js---10作用域链
    js---12数据类型,数据类型转换,NaN,
    js---11运算符,流程控制,真假
    js---10时间类
    js--09定时器
    js---08函数 定时器
    js---07 js预解析,作用域---闭包
    js---06函数传参数
    [虎嗅]职场中年独白:我们是被嫌弃的少数派
  • 原文地址:https://www.cnblogs.com/Xuman0927/p/6023273.html
Copyright © 2020-2023  润新知