js知识巩固
1.数组操作中使用splice和slice进行删除数组的区别!
splice会对原数组进行操作,返回的是被删除元素组成的数组,原数组会被进行改变即变成删除后的数组,用于删除列表中的元素,arr.splice(index,1)常用于删除列表中的某个元素(index对应的元素);
slice不会对原数组进行操作,返回的是一个新数组,例如arr.slice(0,10),这时候arr数组里面的元素没有改变,返回的是一个被截取出来的新数组,可用于控制列表显示个数和点击显示更多!!
实例:
arrNew=arr.slice(0,10),arrNew是新的数组,被截取的内容,而arr里面的内容不受影响。
arr.slice(start,end)没有end的时候,默认最后一个元素。
arr.splice(index,howmay,item1...itemx),,howmay=0表示不删除,item1,item2增加数组是从index开始增加,例如index=2,那么arr[2]=item1
push()跟concat()的区别
push()是把里面的元素当一个整体往数组arr里面塞的,而concat()是将元素一个个塞,然后push()会改变原数组,而concat不会改变原数组,会返回一个新数组!!
2、随机数Math.random()公式
1.0-x之间的随机数:
Math.round(Math.random()*x);
2.x至y之间的随机数
Math.round(Math.random()*(y-x)+x);
3.1-x之间的随机数:
Math.ceil(Math.random()*x);
解析:Math.round()是进行四舍五入、Math.ceil()向上取整、Math.floor()向下取整的出来的结果跟parseIn()一样!!
3、指针指向问题 ( new date() )
var nowDate= new Date("2018/08/07");//获取当前的日期,nowDate指向 new Date()这个指针!!,进行指定日期实例化
var oldDate=new Date(nowDate.setDate(nowDate.getDate()+1)); //设置明天的日期,最后用new Date()进行实例化!!
当nowDate经过第二步的改变后,变成跟oldDate一样
alert(nowDate.format("yyyy/MM/dd")) //2018/08/08
alert(oldDate.format("yyyy/MM/dd")) //2018/08/08
4、js下获取子元素的方法
使用firstElementChild只会获取元素节点对象,从名称就可以看出来,firstChild则可以获取文本节点对象(当然也可以获取元素节点对象),比如空格和换行都被当做文本节点。
<div>
<p></p>
</div>
使用firstChild获取第一个元素
如下代码获取第一个元素,获取不到
var oDiv=document.getElementByTagName("div")[];
alert(oDiv.firstChild.nodeName)
因为现代浏览器中firstChild会把<div> <p>两个标签之间的空白节点也解析出来,所以会alert出#text(由于空白节点是属于text文本节点),把代码改成<div><p>123</p></div>即可,但是不方便
使用firstElementChild获取第一个元素
firstElementChild就指明要第一个子元素,空白的东东就不算了~~,但是问题又来了,firstElementChild这个方法在现代浏览器中兼容,但是在ie678中却没有这个方法,一旦在ie678中使用这个方法就会出错。
所以要用Children方法,经测试children方法在所有主流浏览器中都兼容,包括ie678,并且它也能实现firstElementChild的功能
<div>
<p></p>
</div>
var first=document.getElementByTagName("div")[].children[]
js知识巩固的更多相关文章
- 【Todo】React & Nodejs学习 &事件驱动,非阻塞IO & JS知识栈:Node为主,JQuery为辅,Bootstrap & React为辅辅,其他如Angular了解用途即可
JS知识栈:Node为主,JQuery为辅,Bootstrap & React为辅辅,其他如Angular了解用途即可 今天在学习ReactJS和NodeJS,看到关于ReactJS的这篇文章 ...
- js知识梳理6:关于函数的要点梳理(2)(作用域链和闭包)
写在前面 注:这个系列是本人对js知识的一些梳理,其中不少内容来自书籍:Javascript高级程序设计第三版和JavaScript权威指南第六版,感谢它们的作者和译者.有发现什么问题的,欢迎留言指出 ...
- js知识梳理5:关于函数的要点梳理(1)
写在前面 注:这个系列是本人对js知识的一些梳理,其中不少内容来自书籍:Javascript高级程序设计第三版和JavaScript权威指南第六版,感谢它们的作者和译者.有发现什么问题的,欢迎留言指出 ...
- js知识梳理4.继承的模式探究
写在前面 注:这个系列是本人对js知识的一些梳理,其中不少内容来自书籍:Javascript高级程序设计第三版和JavaScript权威指南第六版,感谢它们的作者和译者.有发现什么问题的,欢迎留言指出 ...
- js知识梳理3:创建对象的模式探究
写在前面 注:这个系列是本人对js知识的一些梳理,其中不少内容来自书籍:Javascript高级程序设计第三版和JavaScript权威指南第六版,感谢它们的作者和译者.有发现什么问题的,欢迎留言指出 ...
- 移动端js知识总结
1.如果使用jquery绑定touch事件的话,获取touchstart,touchmove的触点坐标用 e.originalEvent.targetTouches[0].pageX, 获取touch ...
- js知识体系的梳理一
今天简单的总结了js的一些东西,梳理下整个体系,每一次的总结都会有不同的收获:js总结一一.[获取元素]: 1.通过ID: var oBtn=document.getElementById('btn1 ...
- 发发关于JavaScript的感慨,随手记几个js知识碎片
最近一段时间写了很多JavaScript和jquery代码,越来越感觉js基础不牢固,写一句查半天,有时间肯定要系统的学一下. 不说了,先记一下最近学到的点东西,省的以后没时间系统学js还要再来查. ...
- 前端必会的js知识总结整理
1.晨曦. 2.js是一门什么样的语言及特点? js是一种基于对象和事件驱动的并具有相对安全性的客户端脚本语言.也是一种广泛用于web客户端开发的脚本语言,常用来给html网页添加动态 ...
- js知识简单归纳
js简单的归纳 基本类型 number,string,boolean,null,undefined 组合类型 一种对象类型: object 数组 函数 对象 正则 关于函数 作用域 闭包 构造函数 原 ...
随机推荐
- PL/SQL Developper导入导出数据库的方法及说明
导出步骤 1 tools ->export user object 选择选项,导出.sql文件. 2 tools ->export tables-> Oracle Export 选择 ...
- curator操作zookeeper
使用zookeeper原生API实现一些复杂的东西比较麻烦.所以,出现了两款比较好的开源客户端,对zookeeper的原生API进行了包装:zkClient和curator.后者是Netflix出版的 ...
- JAVA-String,StringBuilder,StringBuffer例子(基础必备)
package com.net.xinfang.reflect; import java.io.UnsupportedEncodingException; /** * String不属于8种基本数据类 ...
- Nginx 学习笔记(九)申请Let's Encrypt通配符HTTPS证书
Let's Encrypt 宣布 ACME v2 正式支持通配符证书,并将继续清除 Web 上采用 HTTPS 的障碍,让每个网站轻松获取管理证书.消息一出,马上就有热心用户分享出了 Let's En ...
- python --端点调试
python端点调试 左边三角:快速跳到下一个端点 下箭头:单不调试 斜向下箭头:跳到函数内部执行代码
- iOS下如何阻止橡皮筋效果
$(document).ready(function(){ var stopScrolling = function(event) { event.preventDefault(); } docume ...
- javascript&&jquery编写插件模板
javascrpt插件编写模板 这里不分享如何编写插件,只留一个框架模板,使用面向对象的形式进行编写,方便管理 ;(function(window,document){ function FnName ...
- 使用yield和send实现简单的协程函数
使用yield和send实现协程 协程的本质是在一个线程里实现多个任务之间的来回切换,我们使用yield和send可以实现简单的协程 def pro(): print(1) n = yield &qu ...
- vue-cli3 第三版安装搭建项目
Vue CLI是一个用于快速Vue.js开发的完整系统 3.X较2.X结构变了很多,更优雅,开发体验更好 官方:https://cli.vuejs.org/guide/ 安装:https://cli. ...
- [译]C#7 Pattern Matching
原文 public struct Square { public double Side { get; } public Square(double side) { Side = side; } } ...