JS 学习笔记1

来源:互联网 发布:世界地图历史演变软件 编辑:程序博客网 时间:2024/05/19 09:48
JavaScript
    ECMA

    BOM  brower Object Module

    DOM    document object Module

js    能干嘛?

    写动态效果

    前后台数据交互

    ajax 无页面刷新技术

    jsonp 跨域


    node js 跟JavaScript 语法一样

js 里面的输出
    alert(); //弹出
    document.write() //像页面上写入
    console.log() // 在控制台写东西
    document.title =  //
【声明变量方式】
    var 变量名字 = 值;

【window.onload】
    触发时机
        当你的页面的的资源加载完成的时候触发

【获取元素】
    document.getElementById('id名字');
    注意:它获取的是一个元素 单个的 不是复数

    父级:必须是document  不能改变父级


    父级.getElementsByTagName('标签名字');
        它获取的是一组元素
            它有length属性
            它从0开始数数的

        它的父级是可以改变的

    注意:
        不能直接对一组元素进行操作

【js三要素】
    1、先获取
    2、加事件
    3、再操作

【事件】
    onclick
        触发时机:当你鼠标点击的时候触发

【.】
    就是咱们PHP -> "的"

【+】
    就是PHP里面的 . 字符串拼接

【js里面的注释】

    单行注释
        //
    多行注释
        /* 内容 */

【函数】

    普通函数
        function 函数名 () {

    }

    触发时机:
        函数名加小括号的时候

    事件函数
        obj.onclick =fucntion () {}
        触发时机:
            当你这个事件触发的时候
    匿名函数
        function (){}
        加上小括号的触发

【关于分号的问题】
    php里面必须一句话结束加上分号
    js里面可以不加分号,我非常强烈加上分号
    当你项目上线的时候代码是压缩的,代码会是一行会报错

类似于
    margin-left
    margin-right
    margin-top
    margin-bottom
    padding-left
    padding-right
    padding-top
    padding-bottom

    backgroundImage
    backgroundColor
    fontSize

    不说了
    只要你遇到这样的- 把-线去掉 后面的单词的首字母大写就OK了

【关于单双引号的问题】
    单引号双引号没有卵区别
    单不能套单
    双不能套双
    双可以套单
    单可以套双
【关于变量的问题】

    严格区分大小写

【关于函数名字的问题】

    严格区分大小写
    php里面不区分大小写

【js里面函数名同名的时候】
    代码是自上而下执行的,后面的后覆盖上面的,不会报错

    php 函数名坚决不能同名

    类名不能同名 解决类的同名的方法咱们用的是命名空间
【关于报错的问题】
    上面报错后面代码不执行
【行内触发函数】
    不建议这么去写代码


【关于函数参数的问题】
    php里面你定义了形参 你必须要传几个实参 不然报错 除非你给了形参默认值
    js 不是 你想传就传

【点和中括号】
    . 后面不能跟变量
    [] 可以跟变量,可以代替.


【js 数据类型】

    number

    string

    boolean
        true
        false

    undefined

    function

    object


【变量和字符串的区别】

一个加引号,一个不加引号

【break && continue】

    与PHP里面一样

js
    JavaScript

    <script>

    </script>

window.onload = function ()
{

}
当页面所有的资源加载完成的时候触发

视频  音频 图片 html标签 css


【dom】
获取元素的两种方式
    document.getElementById(id名字);

    它是单数 的父级不能改变

    document.getElementsByTagName(标签名字);
        它的父级是可以改变的
        它有length属性
        注意:不能直接对一组元素直接操作
        它是从零开始数数的
【事件】
        点击事件
            onclick

【点和【】】
    点后面不能跟变量,
    []里面可以放变量
    点不能代替中括号
    []可以代替点
【字符串拼接】
    +
    .

【单双引号】
    单不能套单
    它俩没有任何却别

【字符串和变量的区别】
    变量没有引号
    字符串有引号
【函数】
        1、普通函数

        function 函数名()
        {
        }
        函数名()
        2、事件函数
        obj.onlcick = function ()
        {

        }
        点点击的时候调用
        3、匿名函数

            var fn = function ()
            {

            }
            fn();
【声明变量关键字】
    var
        声明变量的规则
        1、严格区分大小写
        2、不能以数字开头
        3、可以使用_
        4、不能使用系统保留的关键字
        5、遵循小驼峰命名法,liKun()
        6、命名要有意义
【PHP数据类型】   
    整型
    浮点型
    字符串
    数组
    对象
    资源
    boolean
    null
【js数据类型】
    number 数字
    string 字符串
    boolean 真假
        true
        false
    object 对象
    undefined 未定义
    function 函数类型
    null
    统统都是对象
【循环】
        for () {
        }

        break;
        continue;
        while () {}
        do{}while();
        if ()
        if else
        if else if else
        switch (){}
【分号】
        php结束的必须加上分号不然报错
        js 可以不加分号 回车默认结束,但是防止以后上线的时候代码压缩
        js代码压缩工具 glup grunt
        jquery  安哥拉js (angularjs) React jquery mobile  前端运动框架swiper
【js三要素】
    1、先获取
    2、加事件
    3、操作

【声明数组的方式】
    var arr = [];
    var arr = new Array();
        arr[] = ;
        arr[] = ;
【通过name获取】
    document.getElementsByName(name名字);
    它是复数
    父级可以改变
【事件】
    onclick 点击
    onmouseover //鼠标移入
    onmouseout  //鼠标移出
【innerHTML】
    就是你的html怎么写它就怎么写

【undefined】出现的几种情况
    1、函数有默认值没有传参
    2、变量未定义
    3、变量定义未赋值

【false】 出现false 的几种情况
    1、undefined
    2、false
    3、0
    4、 ‘’ 里面不能有任何字符包括空格
    5、null空对象也是假的
    6、NaN

NaN与NaN永远不相等


判断NaN的函数
    isNaN

【关于input框里面通过js获取的时候类型】
    是要是input框获取出来的值都是字符串类型
    你如果想进行运算必须转成数字类型
【数值类型转换】
    Number
        var str = 12; //12
        var str = 12.21.abc  //NaN
        var str = abc.12.12 //NaN

        不全是数字的字符串用number转换的时候都是NaN
    parseFloat
        var str = 12 //12
        var str = 12.1 // 12.1
        var str  = 12.abc //12
        var str = 12.1.abc = 12.1
        var str = abc12.1 //NaN
        只要你用非数字开头的字符串用它转换的时候都是NaN
    parseInt
        var str = 12//12
        var str = 12.2 //12
        var str = ab112.2 NaN
        var str = 12.1abc 12

        只要非数字开头都是NaN
        如果有小数会舍去小数取整数


【自定义行间属性】

        它不兼容高级浏览器  火狐 谷歌  ie8+
【\】
        转译

注意
    声明数组的时候
    new Array()
    它里面传一个是占位
    传两以上就是元素

    知道就行了



原创粉丝点击