zoukankan      html  css  js  c++  java
  • JS基础

    没有顺序 - 

    想起哪里 看到哪里记哪里 --

    ——

    JS原生方法: 

    onmouseover() 入

    onmouseout() 出

     元素节点:

     a.childNodes;//获取a的全部子节点;

     a.parentNode;//获取a的父节点;

     a.nextSibling;//获取a的下一个兄弟节点

    a.previousSibling;//获取a的上一个兄弟节点

     a.firstChild;//获取a的第一个子节点

     a.lastChild; //获取a的最后一个子节点

    firstElementChild获取第一个子节点 

    使用firstElementChild来获取第一个子元素的时候,这就没有firstChild的那种情况了 他并不会匹配换行和空格信息

    lastElementChild获取最后一个子节点

    类似

    获取上一个兄弟节点  

    previousSibling和previousElementSibling。

    获取下一个兄弟节点

    nextSibling和nextElementSibling

     如果要使用childNodes就必须进行必要的过滤。通过正则表达式式取掉不必要的信息。下面是过滤掉

    //去掉换行的空格
    for(var i=0; i<b.length;i++){
    if(b[i].nodeName == "#text" && !/s/.test(b.nodeValue)){
    document.getElementById("test").removeChild(b[i]);
    }
    }
    //打印测试
    for(var i=0;i<b.length;i++){
    console.log(i+"---------")
    console.log(b[i]);
    }
    //补充 document.getElementById("test").childElementCount; 可以直接获取长度 同length

    运算符   

      ·运算符优先级  

    类型转换规则 

    !:隐式类型转换    ---会将对象转换,首先转布尔类型  ,对象转布尔值都是真 true

    点击A标签的子集不跳转,阻止默认行为

    e.preventDefault();            
     
    document.documentElement.clientHeight   返回html的可用高度

     随机数生成公式: 

    Math.floor(Math.random()*(max-min+1)+min);

    //


    //加载页面时执行一次
    changeMargin();


    //监听浏览器宽度的改变
    window.onresize = function(){
    changeMargin();
    }


    =======================================================================


    定时器: 

    setInterval  有缺点

    • 使用setInterval时,某些间隔会被跳过
    • 可能多个定时器会连续执行

    setTimeout模拟setInterval

    setTimeout(function () {

    // 任务 setTimeout(arguments.callee, interval);

    }, interval)  

    警告:在严格模式下,第5版 ECMAScript (ES5) 禁止使用 arguments.callee()。当一个函数必须调用自身的时候, 避免使用 arguments.callee(), 通过要么给函数表达式一个名字,要么使用一个函数声明.

    function fun() {

        //....do something;

        setTimeout(fun, 1000);

    }

    ===============================================掘金: https://juejin.im/pins/recommended

    关于各种宽高:

    页可见区域宽: document.body.clientWidth;
    网页可见区域高: document.body.clientHeight;
    网页可见区域宽: document.body.offsetWidth (包括边线的宽);
    网页可见区域高: document.body.offsetHeight (包括边线的宽);
    网页正文全文宽: document.body.scrollWidth;
    网页正文全文高: document.body.scrollHeight;
    网页被卷去的高: document.body.scrollTop;
    网页被卷去的左: document.body.scrollLeft;
    网页正文部分上: window.screenTop;
    网页正文部分左: window.screenLeft;
    屏幕分辨率的高: window.screen.height;
    屏幕分辨率的宽: window.screen.width;
    屏幕可用工作区高度: window.screen.availHeight;

    不管前方的路有多苦,只要走的方向正确,不管多么崎岖不平,都比站在原地更接近幸福。 ——宫崎骏 《千与千寻》
  • 相关阅读:
    【转】win32内核程序中进程的pid,handle,eprocess之间相互转换的方法
    (ring0)Windows内核根据PID获取进程全路径
    Windows虚拟地址转物理地址(原理+源码实现,附简单小工具)
    指向API的函数指针定义方法
    ListCtrl列表控件设置到指定位置(自滚动,该特性支持虚拟列表)
    【转】VS设置符号表
    物联网三层架构
    五种测试的区别
    CMMI将能力成熟度分为5个级别
    软件的4种维护(更正性、完善性、预防性、适应性)的区别
  • 原文地址:https://www.cnblogs.com/City-wall/p/10498856.html
Copyright © 2011-2022 走看看