JavaScript

介绍:

脚本语言

松散

对于开发者的要求很低

如 定义变量

严谨语言

int a = 30;

松散的言语

var a = 30;

永远不会认为开发者 写代码问题

定义的是数字

用的是字符串

1.把数字 转成成字符串

2.再去执行 开发者写的程序

语法

正常 一条语句结束会使用分号

var a = 30;

var a = 30

ECMAScript

计算机协会统一的标准

只包含了基础语法部分

版本区别

ECMAScript5(包含5)之前

ECMAScript6(ECMAScript2015、ES6)

包含了 所有语言 基本囊括的技能

相对完整的语言

TypeScript(TS)

微软出的JS语言>JS的超集

需要学习的模块

ECMAScript

语言基础

DOM、BOM操作

DOM

操作页面中的元素对象(标签)

批量创建

逻辑

交互

BOM

浏览器的操作

上一页 下一页

历史记录

刷新

webAPI

webSocket(即时通讯)

音视频播放器

游戏

canvas

webVR

数据持久化

IndexedDB

webSQL

localstorage


WEBAPI

基础语法:

预备知识:

1.语句:通常一行代码 如果添加了分号->一条语句 使用;分隔

2.变量:目的  通过一个名字表示一个可以改变的值

  定义方式:var 变量名=值;  var关键字

                    不赋值  var变量名

  关键字:var

              什么是关键字?

        语言本身提供的名字 ,有固定意义  var  如var 就是定义变量的意思

语言本身  提供了很多关键字: var  for  while  if  startic  let  this等

变量名:开发者起的一个名字

注意:1.变量名不能用关键字定义

2.不能以数字开头

3.不能以特殊符号开头

4.定义变量名要有意义:驼峰命名法(第一个单词首字母小写,其他字母大写)  下划线命名法

意义:变量名 开发则七点一个名字

                          外号

                        标记

          值  具体内容:  数字 文字(字符串)  数组  对象

由名字表示了 后面的值把右侧的值 赋值(=)

3.注释  单行注释  CTRL+/    多行注释  CTRL+shift+/

4.调试  按F12(右键检查元素)->console

运算符:

算数运算符:+ - * / %  必须数字与数字之间运算

复合运算符:+= var a=10  var b=20  a=a+b  a+=b

  -=  var a=10  var b=20  a=a-b  a-=b

  *=  /= 

++  自己给自己增加一个1

--  自己给自己减少一个1

比较运算符 结果 就是一个Boolean类型的值  true 对  false 错

>

<

>=

<=

==

===

!=

逻辑运算符  与&&  所有条件都必须满足 才算真的

                    或 ||  只要有一个条件满足  就是真的

                    !非  颠倒黑白  对的就是错的 错的就是对的   

三元运算(三目运算)  经常代替if else语句if (睡觉){做梦}else{掌握三元运算}

  睡觉?做梦:掌握三元运算

  条件? 满足执行:不满足执行

分支结构:if语句

swich

swich(变量){

case值1:break;

case值2:break;

default:

}

break 不是强制添加

          但是需要注意 如果不添加break程序会继续走下面的条件

循环结构:

          知道循环次数  用    for

          不知道循环次数 

        用  while  while(条件){循环体}

              do  while  不管条件 满不满足  先执行一次循环    这一次循环  计入到 总循环的次数中

for(var i=0;i<5;i++){}

for()中的各个语句的含义  var i=0;初始化 变量

                                          i<5;循环的条件

                                          i++;  更改变量的值

四种类型:

无返回值:

带参数

不带参数  var 函数名=function(){}    function 函数名(){}() 整体

有返回值:

带参数

不带参数

组成:声明函数  function  函数名(){}

        调用函数      函数名()

内置函数?

1.console.log();

2.alert();

3.Math.random();

4.prompt();

封装:编程思想

参数 :

形式参数  形参 没有实际意义  代表着 即将传进来的实参

实际参数  实参  是实实在在的一个值

a

返回值:  带返回值的函数是什么?

  返回值是什么 函数就是什么

  1  function x(){return}

return值;

return 放到函数中  return值  有返回值的函数

                              return; 跳出函数

作用域:

作用域的概念:变量起作用范围

局部变量

全局变量

自执行函数     


c.逻辑运算符

逻辑 与&&

两边条件都满足 -> true

只要有一个条件不满足 就不成立 -> false

逻辑 或||

两边条件 只要有一个满足 -> true

两边条件 都不满足 -> false

逻辑 非!

对的加上感叹号 -> false

错的加上感叹号 -> true


DOM元素

查询dom元素的方法

1.查询DOM元素{

1.document.querySelector("选择器的名字")  查找到的永远是第一个元素

2.document.querySelectorAll("选择器的名字")

3.id选择器document.getElemetByld("不需要加#");

4.通过类选择器查document.getElementByClassName("item");//类选择器->伪数组

5.通过元素选择器查找document.getElementsByTagName("div");

伪数组


}*/

2.创建DOM元素:

doment.createElement.createElement("标签的名字")

3.DOM元素的操作:

1.把DOM元素放到父元素里面  父元素.appendChild(子元素)

2.删除元素

3.替换元素

4.设置元素的样式:

dom元素.style

5.设置元素的属性

a.dom元素.属性名=属性值  查询dom元素.属性名

dom元素.setAttribute(属性名,属性值)  查询dom元素.getAttribute("属性名")

6.事件:

1.鼠标事件:

鼠标移入事件:

onmouseover    先调用

onmouseenter  后调用


鼠标移出事件:

onmouseleave  先调用

onmouseout    后调用

1.点击事件  onClick  dom.onClick=function(事件对象){}

2.键盘事件

3.状态事件

4.事件监听:

添加监听事件 dom.addEventListen("事件名",函数)

移除监听事件


事件里面的大技巧:

阻止元素的默认行为  event.preventDefault();  如:去掉a标签刷新页面(跳转)功能  表单标签里面的<input type="submit"><input type="rest">

BOM

Browser  Object  Model:浏览器对象模型  里面的内容是所有关于浏览器的操作

1.窗口对象

window窗口包含的部分

浏览器可视的范围:

1.导航

2.历史记录

3.屏幕大小

4.位置

窗口对象 是Window的实例对象

注意:1.定义的全局变量  是定义到了window对象上面  可以通过window.xx访问

            2.在最外面定义的函数  是定义到了window对象上面    可以通过window.xx访问

尺寸:

window.innerHeight-浏览器窗口的内部高度(包括滚动条)

innerWidth-浏览器窗口的内部宽度(包括滚动条)

如果要求使用IE6.7.8时  使用  document.body.clientHeight

                    document.body.clientWidth

动态获取窗口的宽高:

onresize=function{

      console.log();

}

事件:

resize


2.Location  位置定位

location.hostname 返回 web 主机的域名

location.pathname 返回当前页面的路径和文件名

location.port 返回 web 主机的端口 (80 或 443):

  80(web页面的默认端口) ;443(https 加密的超文本传输协议端口)普通的HTTP是没加密的,不需要开启443;21(FTP文件传输协议端口);3306(mysql数据库默认端口);

location.protocol 返回所使用的 web 协议(http: 或 https:)

location.search返回搜索的结果(http GET方法的参数) 页面之间传参

location.href  本页的位置  指定页面要跳转的位置

3.History    历史记录

前提:必须有历史记录  才能使用这些函数

back  必须跳转了下一个页面  才有返回

forward  必须跳转过下一个页面(有返回过上一页)才能使用前进的功能

go  正数 往后跳    负数 返回  挑几级由里面数字决定

4.navigator  导航

1.geolocation  获取地理位置信息  经纬度

getCurrentPosition获取当前位置信息  参数  (成功时候调用的函数        失败时候调用的函数)

2.getUserWedia,mediaDevices  音频流  视频流的处理

5.定时事件                              setInterval(function(){

定时器(每隔多久执行一次)  }500);

                                                setTimeout(function(){

  延迟执行(只执行一次)},500)

6.数据持久化

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

推荐阅读更多精彩内容