当前位置:才华咖 > 互联网计算机 > 设计制作 > 网页设计 > JavaScript的基础知识
手机版

JavaScript的基础知识

来源:才华咖 阅读:6.17K 次

var a=false;

JavaScript的基础知识

!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");}

otype.a = function () {alert("hi");}

new otype.a;

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

JS挺会误导人的,咳

选择器问题:

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

lementsByTagName("head")[0]lementsByTagName("script")[0];

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

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

复制代码 代码如下:

function getclassnode(classname,doc){

doc=doc||document;

var node=[],i=0,j=0,t;

var allnode=lementsByTagName("*");

while(t=allnode[i]){

if(RegExp(classname)(sName)){

node[j]=t;

j++;

}

i++;

}

return node;

}

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

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

复制代码 代码如下:

lementsByTagName("head")[0]veChild(lementsByTagName("head")[0]lementsByTagName("script")[0]);

本文链接:https://www.caihuaka.com/sjzz/sjzz/kz3oxd.html

Copyright © 2024. 才华咖 All right reserved. 浙ICP备20120231号-3

文字美图素材,版权属于原作者。部分文章内容由网友提供推送时因种种原因未能与原作者联系上,若涉及版权问题,敬请原作者联系我们,立即处理。