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.数据持久化

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容