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原生第四篇 (帅哥)的更多相关文章

  1. JS原生第六篇 (帅哥)

    复习 按钮不可用    disabled =  "disabled"  ||  true setTimeout   只执行一次    setInterval  执行很多次 递归调用 ...

  2. JS原生第三篇 (帅哥)

    1.1 数 组 1. 数组           看电影    电影院  座位 大的变量     里面可以放很多的值 var  arr = [1,3,57]; var ar = new Array(); ...

  3. JS原生第八篇 (帅哥)

    1.1 复习     1. clientX          clientWidth   可视区域的宽度 clientWidth     width  +  padding offsetWidth   ...

  4. JS原生第七篇 (帅哥)

    1.1 复习 offset   自己的 偏移 offsetWidth    得到自己的宽度 offsetHeight 构成 :   width  +   padding  +  border div ...

  5. JS原生第五篇 (帅哥)

    1.1 节点 1. 节点        网页是有很多的节点组成的  . 元素节点   指的是 :  标签     li  span 文本节点      属性节点 父子兄弟    父    parent ...

  6. JS原生基础终结篇 (帅哥)

    闭包 基础    面向对象基础 1.1 闭包 在程序语言中,所谓闭包,是指语法域位于某个特定的区域,具有持续参照(读写)位于该区域内自身范围之外的执行域上的非持久型变量值能力的段落.这些外部执行域的非 ...

  7. JS数据结构第四篇 --- 栈

    一.什么是数据结构栈 在数据结构中有一个栈结构,在内存空间中也有一个栈空间,这两个”栈“是两个不同的概念.这篇我们说的是数据结构中的栈.栈是一种特殊的线性表,特殊性在哪?就是只能在栈顶进行操作,往栈顶 ...

  8. JS原生对象实现异步请求以及JQ的ajax请求四种方式

    一.JS原生方式异步请求 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="A ...

  9. 手把手教你js原生瀑布流效果实现

    手把手教你js原生瀑布流效果实现 什么是瀑布流效果 首先,让我们先看一段动画: 在动画中,我们不难发现,这个动画有以下特点: 1.所有的图片的宽度都是一样的 2.所有的图片的高度是不一样的 3.图片一 ...

随机推荐

  1. Mysql示例数据库employees.sql导入问题

    Mysql版本:Server version: 5.7.9-log MySQL Community Server (GPL) 问题一.Unknown system variable 'storage_ ...

  2. Oozie命令行常用命令汇总[转]

    Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ...

  3. [Leetcode]String to Integer (atoi) 简易实现方法

    刚看到题就想用数组做,发现大多数解也是用数组做的,突然看到一个清新脱俗的解法: int atoi(const char *str) { ; int n; string s(str); istrings ...

  4. Sqlite 管理工具收藏

    1.SQLite Administrator   http://download.orbmu2k.de/files/sqliteadmin.zip 2.SQLite2009Pro-v3.8.3.1 h ...

  5. android wifi ANR问题分析总结

    android wifi ANR问题分析总结 1 看看main进程阻塞在那里? 2 调用关系的函数阻塞在那里? 3 最终阻塞函数的阻塞前的log以及状态

  6. 工作随笔——Swift中的Range和一些字符操作

    截取字符串在Swift中相比OC要复杂很多,主要原因可能还是OC的NSRange的创建方法中参数类型为int,而Swift却对类型要求很严格,int不能作为参数创建Range,这要使用String中的 ...

  7. Java编程提高性能时需注意的地方

    1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面 第一,控制资源的使用,通过线程同步来控制资 ...

  8. XP退役了,如何把Win7变成XP风格?| 怎么样去掉Win7的所有华丽效果? | 怎么样让Win7达到电脑最佳性能?

    XP系统退役了,以后微软停止XP系统的更新维护了. 不得不升级使用Windows7系统,但是大部分使用Windows7不习惯. 那是因为你的操作习惯,还保持在XP风格基础上. 那么有没有什么办法让Wi ...

  9. [leetcode 34] search for a range

    1 题目: Given a sorted array of integers, find the starting and ending position of a given target valu ...

  10. Windows Azure Service Bus Notification Hub推送通知

    前言 随着Windows Azure 在中国的正式落地,相信越来越多的人会体验到Windows Azure带来的强大和便利.在上一篇文章中, 我们介绍了如何利用Windows Azure中的Servi ...