zoukankan      html  css  js  c++  java
  • js的写法

    var a=false;
    !a&&alert("hi");

    解释 a为真才继续往下执行,所以会弹出hi

    var a=a||"hi";

    解释 当a为假的时候会继续执行,当a为真的时候跳出这个语句,所以可以通过这个办法复制默认值

    上面的方法并非所有语言都是如此处理,比如PHP

    $a=@$a||"hi";

    echo $a;//1

    php把(@$a||"hi")之后的值赋值过去了...

    $a=true;
    !$a&&echo "hi";

    直接报错:syntax error, unexpected T_ECHO

    关于prototype

    很多情况下看到prototype都想到只有对象的情况下有

    var add=function(){alert("b");}
     add.prototype.a = function () {alert("hi");}
     new add.prototype.a;

    第一反应,可能会报错,其实不然,当没有生产对象的时候,可以通过add.prototype.a的方式直接调用静态的方法的

    JS挺会误导人的,咳

    选择器问题:

    有时候需要选择一个节点下的子节点,用childNodes取值FIREFOX,IE的不同让人很郁闷

    document.getElementsByTagName("head")[0].getElementsByTagName("script")[0];

    上面的方法结果用在head标签阶段还好,用在其他的不怎么好用了

    所有觉得还是用个类名作处理好点

    代码
    function getclassnode(classname,doc){
         doc
    =doc||document;
        
    var node=[],i=0,j=0,t;
        
    var allnode=doc.getElementsByTagName("*");
        
    while(t=allnode[i]){
         
    if(RegExp(classname).test(t.className)){
          node[j]
    =t;
          j
    ++;
         }
         i
    ++;
        }
        
    return node;
        }

    自从用了JQ后,把原生的JS操作都忘的差不多了,偶尔复习下,感觉特麻烦,郁闷.

    补上一点今天发现的JS要注意的地方,如果一个JS已经引入到了当前文档,即使移除引入节点,通过该引入JS文件定义的变量,函数等仍然有效,因为已经加载到了当前的文档环境,如下代码:

    document.getElementsByTagName("head")[0].removeChild(document.getElementsByTagName("head")[0].getElementsByTagName("script")[0]);
  • 相关阅读:
    window
    pages
    百度小程序 配置 app.json 文件
    JavaScript Cookie
    jQuery ajax
    jQuery ajax
    jQuery ajax
    jQuery
    jQuery
    jQuery
  • 原文地址:https://www.cnblogs.com/liushannet/p/1934074.html
Copyright © 2011-2022 走看看