2017.10.22

温故而知新,可以为师矣。


译文



集中式代码管理工具

SVN:管理代码

服务端存代码的

客户端    1 上传代码

               2  下载代码

less:css的预处理


如何使用less  

HTML :超文本标记语言

Css:    层叠样式表

JavaScript:   脚本语言

1 js

2 效果交互

3 数据交互


                                           JS

                                        给页面添加效果

                  操作样式                                                     操作属性

HTML怎么写JS就怎么写          注意:

复合样式

margin-left---------------------------------------marginLeft;

background-color -----------------------------backgroundColor

border-top----------------------------------------borderTop

CSS怎么写JS就怎么写             注意:

class ---------------------------------------------------------------------className

class是js保留的关键字


函数

声明函数

function 函数名(){

        代码

}

调用函数

函数名();

注意:

函数声明了,但是没有调用:什么都不发生,函数内的代码不执行

函数没声明,就调用:报错:函数名 is not defined函数没有定义


选择器

document.getElementById( )                 通过id过去一个元素

document.getElementsByTagName( )  通过标签名获取一组元素

document.getElementsClassName()通过class获取一组元素

html                       document.documentElement

body                      document.body


循环

1.初始化

2.条件

3.语句

4.自增(改变条件)

while

while(条件){

     语句

}

for

for(初始化;条件;自增){

     语句

}

当操作一组的时候使用for循环


this

 那个元素触发的事件 就是this


i的问题   执行时机的问题

循环中加事件 事件中使用i


只能用固定的值

[ ] 

 里面放的是字符串,可以放变量或属性


数据类型

1          种类

1 number                                数字

2 string                                   字符串

3 boolean                               布尔值

4 undefind                              未定义        true     false

5 object                                   对象

6 function                               函数

2           检测基本数据类型           typeof

3          数据类型的转换

显式转换(强制转换)

字符串数字-》整数

var num = parseInt(字符串数字);

字符串数字-》小数

var num = parseFloat(字符串数字);

字符串数字-》数字

var num = Number(字符串数字);      严格

-------------------------------------------------------

隐式转换

12+'abc'

'12'-5


NaN Not a Number

谁都不等于,包括自己。检测是否是NaN

isNaN(值):如果是 就是true否则 就是false


命名规范

匈牙利命名法

oBtn                           一个按钮

aBtn                            一组按钮

sName                        字符串的名字

iAge                            整数年龄

fPrice                          小数价格


流程控制语句

if(){

   }

else if(){   

}

else if(){    

}

switch

switch( 变量){

case itme1:

语句

break;

case itme2:

语句

break;

case itme3:

语句

break;

default:

语句

break;

           }


真                                                                   假

ture  非0数字 非空字符串 非空对象       false 0 空字符串  NaN null  undefined


return

function(参数){

coding

return;

}

调用某个函数,可以返回一个东西

return的特点

1 如果不写return 返回undefined;

2 如果写了return,但是没有值 也返回undefined;

3 return 后面的程序不执行

return 的作用

1 返回东西

2 后面的程序不执行,阻断程序执行;


运算符

算术运算符

+ - * / %(模、取余)


赋值运算符

=                  += -= *= /= %=


比较运算符

> < >= <                   !=(不等)     ===(全等)           !==(不全等)


逻辑运算符

&&     (与,并且) 两者都需要

||        (或,或者)满足一种

!       (非,相反)相反的结果


判断的  简写

if(){}                                             条件&&coding

if(){}else(){}            三目运算符             条件?coding1:coding2


continue 跳过本次循环,进行下一次循环

break 终止循环

return 阻止函数内,后面的代码执行


定时器

1 隔一段时间执行一次

设置定时器:setInterval(function(){},ms)   清除定时器:clearInterval(timer)

隔一段时间执行一次,并且只执行一次

设置定时器:setTimeout(function(){},ms)  清除定时器:clearTimeout(timer)

注意:开启定时器之前先清除定时器


日期对象

var oDate = new Date( );

获取时间

获取年   var y=oDate.getFullYear();

获取月   var m=oDate.getMouth();    注意:从0 开始

获取日   var d=oDate.getDate();

获取时   var h=oDate.getHours();

获取分   var m=oDate.getMinutes();

获取秒   var s=oDate.getSeconds();

获取星期   var w=oDate.getDay();

获取时间戳var  sjc=oDate.getTime();

设置时间

设置年月日 var y,m,d=oDate.setFullYear(y,m,d);

设置时分秒毫秒 var h,m,s,ms=oDate.setHours(h,m,d,ms);

设置时间戳  var sjc=oDate.setTime();

格林威治时间称之为时间戳 1970年1月1日0时0分0秒0毫秒

到现在的毫秒数;


倒计时

常用方法

1 字符串的常用方法

string.chatAt()

string.split()

string.substring()    string.substring(start,end)不包括end;

string.indexOf()

string.lastIndexOf()

string.toUpperCase()

string.toLowerCase()

2 数组的常用方法

arr.push()

arr.pop()

arr.shift()

arr.unshift()

arr.join()

arr.sort()

arr.sort(num1,num2){

return num1-num2;

}

arr.reverse()

arr.contant()

arr.splice()  

arr.splice(start,length) arr.splice(start,0,item1,item2) arr.splice(start,length,item1,item2)

3 Math的常用方法

Math.random()

Math.pow()

Math.sqrt()

Math.round()

Math.floor()

Math.ceil()

Math.abs()

Math.max()

Math.min()


JSON

键值对        key:value

循环 for  ...  in

for(var key in json){

     key

     json[key]

}

通常只用于json  性能比for循环差


封闭空间

作用:           1 解决i的问题                 2解决变量名冲突问题

()()


作用域

起作用的范围

全局

外面没有任何函数包裹

在任何地方都可以使用

局部

只能在声明他的函数内使用

闭包

子函数可以使用父函数的局部变量


DOM(Document Object Model) 文档对象模型

操作文档

元素=标签=节点

DOM树(节点关系)

oEle.tagName 获取元素的名字

节点:

标签节点

文本节点

判断节点类型                                    oEle.nodeType

1 标签节点

3 文本节点

9 document


通过节点关系获取

获取子节点

oParent.children

获取父节点

获取结构上父级

obj.parentNode

最大是document,再往上是null

获取定位上父级

obj.offsetParent

最大是body,再往上是null

获取兄弟节点

上一个兄弟节点

oEle.previousElementSibling                                 兼容IE678

oEle.previousSibling                                              兼容写法

oEle.previousElementSibling||oEle.previousSibling

下一个兄弟节点

oEle.nextElementSibling                                         兼容IE678

oEle.nextSibling                                                       兼容写法

oEle.nextElementSibling||oEle.nextSibling

获取首尾子节点

oParent.firstElementChild                                       兼容IE678

oParent.firstChild                                                     兼容写法

var oFirst = oParent.firstElementChild||oParent.firstChild;

oParent.children[0];

获取尾子节点

oParent.lastElementChild                                         兼容IE678

oParent.lastChild                                                      兼容写法

var oLast = oParent.lastElementChild||oParent.lastChild;

oParent.children[oParent.children.length-1]

创建

document.createElement('标签名');

添加

添加到父级的最后

父级.appendChild(子级);

在某个元素之前插入

父级.insertBefore(要插入的元素,谁之前);

删除

父级中删除子级

父级.removeChild(子级);


BOM                                          浏览器对象模型

window.location 包含地址信息          .pathname     .host     .port

window.open();               打开新窗口

window.close();              关闭窗口

当页面滚动触发

window.onscroll

当改变可视区大小触发

window.onresize

获取各种信息

获取元素盒子模型的宽高

oEle.offsetWidth 盒子模型宽度

oEle.offsetHeight 盒子模型高度

获取元素的位置

获取相对位置

oEle.offsetLeft 距离定位父级的左边距

oEle.offsetTop 距离定位父级的上边距

获取绝对位置

可视区宽高

document.documentElement.clientWidth 可视区宽

document.documentElement.clientHeight 可视区高

滚动距离

scrollTop 垂直方向

document.documentElement.scrollTop||document.body.scrollTop

scrollLeft 水平方向

document.documentElement.scrollLeft||document.body.scrollLeft


事件

onclick                               点击事件

onmouseover                    鼠标移入

onmouseout                      鼠标移出

onscroll                             滚动距离改变

onresize                            改变可视区大小

onload                               加载完执行

事件对象 包含了事件的详细信息

ev(参数) 不兼容IE6、7、8

event 不兼容Firefox

var oEvent = ev||event;

事件

onmousemove 鼠标移动触发

oncontextmenu 上下文菜单

键盘事件

onkeydown 键盘按下

onkeyup 键盘抬起

获取键码

oEvent.keyCode

浏览器默认行为

阻止浏览器默认行为

事件中:

return false;

--------------------------------------------------

事件冒泡

子级的事件,会触发父级相同的事件

取消冒泡

oEvent.cancelBubble = true;

--------------------------------------------------

拖拽

鼠标按下                        onmousedown

获取鼠标在元素中的位置

disX = clientX-offsetLeft

disY = clientY-offsetTop

鼠标移动                        onmousemove

clientX-disX

clientY-disY

鼠标抬起                         onmouseup

onmousemove = null;

onmouseup = null;

设置捕获

oEle.setCapture&&oEle.setCapture();

释放捕获

oEle.releaseCapture&&releaseCapture();


时间绑定(事件监听)

解决事件冲突问题                  给同一个元素加同一个事件,加多次

oEle.addEventListener(sEv, fn, false);               只兼容高级浏览器

oEle.attachEvent('on'+sEv, fn);                           兼容IE

解除绑定

oEle.removeEventListener(sEv, fn, false);

oEle.detachEvent('on'+sEv, fn);


事件流                                    (事件的走向)

DOM事件流 高级浏览器的事件流

1   事件冒泡(冒泡阶段)

事件捕获(捕获阶段)

只有addEventListener第三个参数是true才触发

2   IE事件流 低版本ie的事件流

事件冒泡(冒泡阶段)


事件委托(事件委派)

作用:

1.提高性能

2.给未来元素添加事件

获取事件源

var oSrc = oEvent.srcElement||oEvent.target


Jquery

jquery的任何东西都得用$

常用方法见手册               *(想要熟练还需要没事多看手册)

jquery手册

加载

DOMReady

1    document.addEventListener('DOMContentLoaded',function(){

},false);


2     document.addEventListener('readystatechange',function(){

if(document.readyState==‘complete’ )加载完成

},false);注意:做交互用的 

获取非行间样式(oEle.currentStyle||getComputedStyle(oEle,false))['width']

return false;

1 取消冒泡

2 组织默认行为

某个元素后面添加

$(' ').appendTo('#box');某个元素前面添加$(' ').prependTo('#box');

删除元素$('#box').remove();

原生与Jquery之间的转换


原生--->jquery                            $(原生对象)

jquery--->原生                            $('#div1').get(0)                           $('#div1')[0]

获取第几个

$().get(下标) 原生对象

$().eq(下标) jq对象

获取索引

$().index()



从学习JS开始到现在总结了一遍所有的重点笔记,一个知识点一直知识点的摸索 回忆 背诵,经过一下午时间的总结 收获颇丰,有的小细节已经忘记了但是经过这次博客的总结让我捡起了过往学过的知识。


以后一定坚持每周总结之前的笔记和例子 。


时光飞逝,学习已然过去一半,自己也找到了适合自己的学习方式。为了最终的胜利加油  与我的可爱的伙伴们一起学习 贵在坚持。Fighting!!!


完结。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容

  • 第1章 认识JS JavaScript能做什么?1.增强页面动态效果(如:下拉菜单、图片轮播、信息滚动等)2.实现...
    mo默22阅读 1,226评论 0 5
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,746评论 0 8
  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 3,451评论 1 19
  • 昨天在网上看到一个视频,一群专家围观指手画脚,脑海里忘不了哪个姑娘痛苦的眼神,我却想告诉哪个姑娘:面对痛苦,除了哭...
    林多多1995阅读 491评论 0 2
  • 《那些年》:这部电影看了有三遍,每看一遍我都想时光倒流,我想重新回到过去,把这一切扭转乾坤。曲终人散,梦终究是要醒...
    何雅琴9527阅读 367评论 1 0