JS原生第四篇 (帅哥)
1.1
1. 循环
for(初始化; 退出条件; 增量) { }
while(退出条件) { }
do { 语句 } while(退出条件)
2. switch( ) 多选1
switch(参数)
{
case “参数1”:
语句;
break;
case “参数2”:
语句;
break;
default:
}
3. 数组常用的方法
加内容 减内容 连接 转换
push(); 向数组的后面添加内容
var arr = [1,2] arr.push(“你好吗”); 结果 [1,2,”你好吗”];
unshift() 数组的前面添加
var arr = [1,2] arr.unshift(“我很好”) 结果 [“我很好”,1,2]’
删除
1. pop() 删除最后一个元素
var arr = [1,2] arr.pop(); [1]
2. shift() 删除第一个元素
var arr = [1,2] arr.shift() [2]
注意:
var arr = [1,2,3,4];
console.log(arr.push(8)); 结果是 5 返回改数组的长度
如果这么写:
var arr = [1,2,3,4];
arr.push(8);
console.log(arr); 结果 就是 【1,2,3,4,8】
var arr = [1,2,3,4,5,6,12];
console.log(arr.pop()); 结果是 12 返回最后一个元素
var arr = [1,2,3,4];
arr.pop();
console.log(arr); 结果 就是 【1,2,3】
连接 concat
join() 把数组转换为字符串
var arr = [1,2,3,4];
var test = arr.join(“-”);
console.log(test) 1-2-3-4
var arr = [1,2,3,4];
arr.join(“*”);
console.log(arr); [1,2,3,4]
split() 把字符串转换为 数组
var txt = “1-2-3”;
var test = txt.split(“-”)
console.log(test) [“1”,”2”,”3”];
4. dom
我们操作最多的就是 元素节点 标签节点 标签 li span
5. 节点的访问关系
父级 parentNode
this.parentNode == 我的父亲
兄弟 nextSibling
<ul>
<li> <div>
孩子们
childNodes 官方用法
一般情况下,我们只需要元素节点
nodeType 来 判断
nodeType == 1 元素节点
nodeType == 2 属性节点
nodeType == 3 文本节点
<a href =”xxxxx”> 内容 </a>
children 不是官方写法 所有的孩子 亲儿子
ie 678 把注释节点 也算 可以避免
1.2 设置节点属性
1. 获取节点属性
getAttribute(属性) 获取属性
通过这个方法,可以得到 某些元素的 某些属性 。
alert(demo.getAttribute("title"));
弹出对话框: 弹出title里面的内容
2. 设置节点属性
setAttribute(“属性”,”值”);
比如说,我们想要把 一个 类名 改为 demo
div.setAttribute(“class”,”demo”);
3. 删除某个属性
removeAttribute(“属性”);
demo.removeAttribute(“title”)
这个盒子就没有title 属性 给删掉了 。
A.appendChild(B);
B 一定是 A 孩子 同时 b 放到了a 的里面 装到里面去了 最后面。 b 放到 a 里面
A.insertBefore(B,C)
B C 都是 A 的孩子
把 b 放到 a 里面 ,但是 是 c 的前面
1.3 内置对象
内置对象: 内置对象就是指这个语言自带的一些对象,供开发者使用,这些对象提供了一些常用的或是最基本而必要的功能。
手机买来就能发短信 就能打电话
1.4 日期函数 ( Date() )
这个函数 (对象) 可以设置我们本地 日期。 年月日 时分秒
1.4.1 声明日期
var date = new Date();
创造声明一个新的日期函数 赋值给了 date
var arr = new Array();
1.4.2 使用函数
得到 毫秒数 ms s m h
从 1970 年1 月1号 unix 32位 68年
2038 千年虫 64 位
var date = new Date();
date.getTime();
date.valueOf(); 得到 距离 1970年的毫秒数
var date = new Date(); // 声明
console.log(date.getTime()); // 提倡使用的
console.log(date.valueOf());
// 直接使用
console.log(Date.now());
console.log(+new Date());
1.5 常用的日期的方法
获取日期和时间
getDate() 获取日 1-31
getDay () 获取星期 0-6
getMonth () 获取月 0-11
getFullYear () 获取完整年份(浏览器都支持)
getHours () 获取小时 0-23
getMinutes () 获取分钟 0-59
getSeconds () 获取秒 0-59
getMilliseconds () 获取当前的毫秒
getTime () 返回累计毫秒数(从1970/1/1午夜)
如果是上午 ,我打开页面 页面中显示的是
上午好,好好学习 显示的是上午的图片
如果是下午 我打开页面 页面中显示的是
下午好,天天向上 显示的是下午的图片
根据当前的小时来判断 if
1.6 定时器
很多情况下,一些操作不需要人工干预, 代码自己会不断的去执行 。
而且 会有 时间的绑定 。 比如每隔 5秒钟就去执行一次事件。
我们可以设定时间 让某个动作不断的去执行 。 这个我们再js 里面用定时器来表示。
window.setInterval(“执行的函数”,间隔时间)
正确的写法:
setInterval(fun, 1000); 1000 ms 毫秒
每隔1秒钟,就去执行一次 fun 这个函数.
setInterval(“fun()”,1000) 可以用
setInterval( function(){} , 1000 )
setInterval(fun(),1000) 错误的
定时器 特别的像 for 循环,但是我 的定时器最大的特点在于, 自动,可以设定时间。
1.7 倒计时
好比,今年你多大了 ?
2015 - 1990 25
我们要计算的 倒计时
有一个最终时间 12月12日
有一个现在时间 11月 13日
倒计时 = 用 将来的时间 - 现在的时间
问题: 用 毫秒减去 现在距离 1970年1
将来时间 距离 1970 毫秒数
用将来的毫秒数 - 现在的毫秒数 不断转换就可以了
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
body{
font-size:30px;
text-align: center;
color:red;
}
</style>
<script>
window.onload = function(){
var demo = document.getElementById("demo");
var endTime = new Date("2015/12/12 17:30:00"); // 最终时间
setInterval(clock,1000); // 开启定时器
function clock(){
var nowTime = new Date(); // 一定是要获取最新的时间
// console.log(nowTime.getTime()); 获得自己的毫秒
var second = parseInt((endTime.getTime() - nowTime.getTime()) / 1000);
// 用将来的时间毫秒 - 现在的毫秒 / 1000 得到的 还剩下的秒 可能处不断 取整
// console.log(second);
// 一小时 3600 秒
// second / 3600 一共的小时数 /24 天数
var d = parseInt(second / 3600 / 24); //天数
//console.log(d);
var h = parseInt(second / 3600 % 24) // 小时
// console.log(h);
var m = parseInt(second / 60 % 60);
//console.log(m);
var s = parseInt(second % 60); // 当前的秒
console.log(s);
/* if(d<10)
{
d = "0" + d;
}*/
d<10 ? d="0"+d : d;
h<10 ? h="0"+h : h;
m<10 ? m="0"+m : m;
s<10 ? s="0"+s : s;
demo.innerHTML = "距离抢购时间还剩: "+d+"天 "+h+"小时 "+m+"分钟 "+s+"秒";
}
}
</script>
</head>
<body>
<div id="demo"></div>
</body>
1.7.1 定义自己的日子
var endTime = new Date(“2015/12/12”);
如果date 括号里面写日期 就是 自己定义的时间
如果 date括号里面不写日期 , 就是当前时间 。
new Date(“2015/12/12 17:30:00”);
日期和时分秒中间 有空格隔开
JS原生第四篇 (帅哥)的更多相关文章
- JS原生第六篇 (帅哥)
复习 按钮不可用 disabled = "disabled" || true setTimeout 只执行一次 setInterval 执行很多次 递归调用 ...
- JS原生第三篇 (帅哥)
1.1 数 组 1. 数组 看电影 电影院 座位 大的变量 里面可以放很多的值 var arr = [1,3,57]; var ar = new Array(); ...
- JS原生第八篇 (帅哥)
1.1 复习 1. clientX clientWidth 可视区域的宽度 clientWidth width + padding offsetWidth ...
- JS原生第七篇 (帅哥)
1.1 复习 offset 自己的 偏移 offsetWidth 得到自己的宽度 offsetHeight 构成 : width + padding + border div ...
- JS原生第五篇 (帅哥)
1.1 节点 1. 节点 网页是有很多的节点组成的 . 元素节点 指的是 : 标签 li span 文本节点 属性节点 父子兄弟 父 parent ...
- JS原生基础终结篇 (帅哥)
闭包 基础 面向对象基础 1.1 闭包 在程序语言中,所谓闭包,是指语法域位于某个特定的区域,具有持续参照(读写)位于该区域内自身范围之外的执行域上的非持久型变量值能力的段落.这些外部执行域的非 ...
- JS数据结构第四篇 --- 栈
一.什么是数据结构栈 在数据结构中有一个栈结构,在内存空间中也有一个栈空间,这两个”栈“是两个不同的概念.这篇我们说的是数据结构中的栈.栈是一种特殊的线性表,特殊性在哪?就是只能在栈顶进行操作,往栈顶 ...
- JS原生对象实现异步请求以及JQ的ajax请求四种方式
一.JS原生方式异步请求 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="A ...
- 手把手教你js原生瀑布流效果实现
手把手教你js原生瀑布流效果实现 什么是瀑布流效果 首先,让我们先看一段动画: 在动画中,我们不难发现,这个动画有以下特点: 1.所有的图片的宽度都是一样的 2.所有的图片的高度是不一样的 3.图片一 ...
随机推荐
- 关于Xcode7中添加不了libresolv.dylib等类似库的问题
Xcode7中,由于某些机制,使得我们在添加类似于 libresolv.dylib.libz.dylib等库的时候,直接在Build Phases中点击加号添加,似乎已经无法找到相应的库.此时,我们可 ...
- XAF Spreadsheet property Editor
https://www.devexpress.com/Support/Center/Question/Details/T371232
- 关于Unity -Vuforia -Android 开发 ,平台的搭建(极品菜鸟完整版)
一.首先安装 java jdk , 度娘 “JDK” 进入官网下载即可,链接如下: http://www.oracle.com/technetwork/java/javase/downloads/jd ...
- 关于Chrome浏览器不能使用Java插件的问题
最近测试的“上海电信宽带测速系统”中HTTP测试需要用到java插件,之前装过好多次插件,装好后还是提示java插件未安装,郁闷了N久,最近问题终于得到了解决,故做分享~ 关于Chrome浏览器不能使 ...
- cobbler配置
:ks脚本关闭pxe,这样就不会重复安装 sed -i 's/pxe_just_once: 0/pxe_just_once: 1/g' /etc/cobbler/settings 6:TFTP服务器 ...
- html+css实现简易下拉菜单
<!DOCTYPE html> <html> <head> <style> div { width:100px; height:40px; overfl ...
- asp.net中实现文件下载功能
//TransmitFile实现下载 protected void Button1_Click(object sender, EventArgs e) { /* ...
- Replication的犄角旮旯(九)-- sp_setsubscriptionxactseqno,赋予订阅活力的工具
<Replication的犄角旮旯>系列导读 Replication的犄角旮旯(一)--变更订阅端表名的应用场景 Replication的犄角旮旯(二)--寻找订阅端丢失的记录 Repli ...
- 在ASP.NET WebAPI 中使用缓存【Redis】
初步看了下CacheCow与OutputCache,感觉还是CacheOutput比较符合自己的要求,使用也很简单 PM>Install-Package Strathweb.CacheOutpu ...
- 《C#图解教程》读书笔记之三:方法
本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.方法那些事儿 (1)方法的结构:方法头—指定方法的特征,方法体—可执行代码的语句序列: (2)方法的调用:参 ...