JavaScript 知识
来源:互联网 发布:建筑公司法务 知乎 编辑:程序博客网 时间:2024/05/21 18:36
一、基本知识
1、javaScript的组成:ECMAScript js语言的解释器;DOM(Document Object Model)DOM赋予了js操作html的能力;BOM (Browser Object Model)可以让js操作浏览器。
2、javaScript变量类型:number(数字)、string(字符串)、boolean(布尔值)、function(函数)、object(对象)、undefined(未定义),可以使用alert(typeof a);来检测a的类型。变量本身是没的类型,只有给它赋值时才会有相应的类型。一个变量最好只存放一种类型的数据。
3、显示类型转换:字符串转成数字parseInt('1'),从左到右去扫描字符串,如果发现不是数字就会跳出来,返回已经扫描的数字。NaN (not a number),NaN与NaN一般不是相等的。判断是否为NaN的方法是:isNaN();parseFloat()的作用与parseInt()的方法都差不多,只是精度的区别。
4、隐式类型转换:== 先转换类型再比较 === 不转换类型,直接比。— 先转成数字再做减法。
5、变量的作用域:局部变量,定义在函数内部,只能在定义的函数里面使用;全局变量,定义在函数外面,可以供所有函数使用。
6、闭包:子函数可以使用父函数的局部变量。
function aaa(){ //这里函数bbb中能使用aaa中的局部变量。
var b='abc';
function bbb(){
alert(b);
}
}
7、运算符号:
算术 +加、 —减 、*乘、 /除、 %取模
赋值 = 、+=、-=、/=、%=
关系 < 、>、<=、 >=、 == 、===、 !=、 !==
逻辑 && || !
运算符号优先级:括号
8、流程控制
判断 : if、 switch 三目运算符号(条件 ? 语句:语句);
循环:while 、for
跳出: break 中断所有的循环,continue 仅仅跳过本次循环
9、遍历的方法 数组 for(var i=0;i<arr.length;i++){} for(var i in arr); Json 只能用for in 来遍历 for(arr ob in json){};
二、函数
1、javaScript有两种函数:实名函数(funtion getobj(){ })、匿名函数;(Obtn.onclick=function(){ });
2、javaScript的函数传参数(funtion getObj( a,b){}里面参数可以是一个也可也是多个)、如果函数参数个数不固定,我们可以使用function getobj(){alert(arguments)};这时表示参数的个数个变的,arguments是一个存放参数的数组。
3、函数返回值(function getObj(){ return 12}当我们调用这个函数时会返回这个值,返回值只能有一个。)
三、数组
1、数组的定义 var arr=[1,2,3]; 或 var arr =new Array(1,2,3);
2、数组的重要属性arr.length;这里的长度不但不可获取还可以设置,比如可以清空数组的值:arr.length=0;
3、数组的添加和删除:arr.push(..)往数组的尾部添加内容,arr.upshift(..)从头部添加;arr.pop(..)数组的尾部删除,arr.shift(..)从头部删除。删除.arr.splice(起点,长度) 插入 arr.splice(起点,长度,元素)这些元素都会被插入到制定的位置; 替换.arr.splice(起点,长度,元素1,元素2)从起点开始替换;
4、数组的排序、连接、分隔符
连接 两个数组a、b a.contact(b);
排序 arr.sort();//本质是对字符串,我们可以改变比较规则,如下
arr.sort(function(n1,n2){
if(n1<n2){
return -1;
}else if(n1>n2){
return 1;
}else{
return 0;
}
也可以这样写:return n1-n2;
)
join(分隔符) arr.join('-');
四、获得元素的几种方式:
1、document.getElementById(" ");获取id元素,返回值是唯一的,因为在css中的id元素只能是唯一的。
2、document.getElementsByTagName(" ");获取一组元素,返回的是一个数组;这里的TagName表示html中的标签,比如:a、div、input,也可以表示标签里面和一些属性。
3、可以根据className选择元素,oDiv.className='...';
五、定时器
1、开启定时器:setInterval(function(){},time);间隔型的,每间隔time时间就会执行function(){}函数,执行多次。setTimeout(function(){},time);延时型的,延时time时间执行行,这个只会执行一次。
2、关闭定时器:每个定时器都会有一个返回值,var timerId=setInterval(function(){},time);当我们要关闭一个定时器时,我们可以调用clearInterval(timerId)这个函数去关闭定时器。同样setTimeout函数同样也返回一个值,这时我们只需要调用clearTimeout(timerId),也可以关闭这个定时器。
六、DOM
1、DOM节点:
childNodes表示一个节点的子节点数组,如果
<ul>1
<li>2</li>3
<li>4</li>5
</ul>
这时我们获取ul的子节点会有5个,五个节点的位置如上,这里我们需要过滤掉文本节点,这时需要用到nodeType 这个属性,
nodeType表示获取元素的类型,nodeType=3 -->文本节点,nodeType=1 -->元素节点。children方法只会获得元素节点,不会获得文本节点。这里的子节点只会算法第一层的子。
firstChild 、firstElementChild 、lastChild 、lastElementChild分别表示第一个元素子节点,第一个子节点、最后的一个子节点、最后的一个子节点。两种方式是用来解决兼容性问题。
nextSibling、nextElementSibling、previousSibling、 previousElementSibling表示兄弟节点。
父节点:parentNode父节点,直接父节点,offsetParent用来寻找用于定位的父节点。
2、DOM 操作元素的属性
a.oDiv.style.display='block';
b. oDiv.style['display']='block';
c.oDiv.style.setArribute('display','block'); oDiv.style.getArribute('display'); oDiv.style.remveArribute('display');
3、创建DOM元素、插入元素、删除元素
a.创建DOM元素:document.createElement('li');
b.插入元素:父节点.appendChild(子节点名)默认在最后加入;父节点.insertBefore(节点名,新加入的节点名)表示在某一个元素前面加入。appendChild(子节点),这个会先把这个节点从原来的父级删除掉,然后再加入到新的父级。
c.删除元素:父节点.removeChild('节点名');
- javascript 知识
- JavaScript知识
- JavaScript知识
- javascript知识
- Javascript 知识
- JavaScript 知识
- JavaScript知识
- javascript知识
- JavaScript知识
- javascript开发:javascript知识要点
- JavaScript的相关知识
- javascript 语言知识
- JavaScript知识总结
- JavaScript常用知识
- javascript 常用小知识
- JavaScript相关知识
- javascript小知识
- JavaScript 知识累积
- 【OO】面向对象,春暖花开
- Hibernate框架(五)面向对象查询语言和锁
- 基于MFC的OpenCV简单视频播放器
- 第十一周项目4.1 满足一个十分苛刻的条件的三位数
- uva--270+暴力
- JavaScript 知识
- untiy3d---场景音频
- leetcode Combination Sum II
- 12周。。阶乘
- object-c 入门基础篇
- 如何在myeclipse中使用Maven
- 第十一周项目5.1 今天是本年的第几天
- LRU Cache--leetcode
- Qt oci驱动Windows下编译及测试笔记