JavaScript学习总结

JavaScript

介绍

通过代码/js效果演示提供资料进行效果演示。js可以让我们的页面更加的智能,让页面和用户进行交互

引入方式

第一种方式:内部脚本,将JS代码定义在HTML页面中

  • JavaScript代码必须位于<script><script>标签之间
  • 在HTML文档中,可以在任意地方,放置任意数量的<script>
  • 一般会把脚本置于<body>元素的底部,可改善显示速度

第二种方式:外部脚本将JS代码定义在外部JS文件中,然后引入到HTMl页面中

  • 外部JS文件中,只包含JS代码,不包含<script>标签
  • 引入外部js的<script>标签,必须是双标签

基本语法

1、书写语法
  • 区分大小写:与Java一样,变量名、函数名以及其他一切东西都是区分大小写的
  • 每行结尾的分号可有可无
  • 大括号表示代码块
  • 注释:
    • 单行注释:// 注释内容
    • 多行注释:/* 注释内容 */
api描述
window.alert()警告框
document.write()在HTML输出内容
console.log()写入浏览器控制台
2、变量

首先JS主要通过如下3个关键字来声明变量的:

关键字解释
var早期ECMAScript中用于变量声明的关键字
letECMAScript6中新增的用于变量声明的关键字,相比较var、let只在代码块内生效
const声明常量的,常量一旦声明,不能修改

在js中声明变量还需要注意一下几点:

  • JavaScript是一门弱类型语言,变量可以存放不同类型的值
  • 变量名需要遵循如下规则:
    • 组成字符可以是任何字母、数字、下划线、或美元符号
    • 数字不能开头
    • 建议使用驼峰命名
3、数据类型和运算符

js中的数据类型分为:原始类型和引用类型

数据类型描述
number数字(整数、小数、NaN(Not a Number))
string字符串,单双引皆可
boolean布尔。true、false
null对象为空
undefined当声明的变量未初始化时,该变量的默认值是underfined

注意:在js中,绝大多数的运算规则和Java中是保持一致的,但是js中的=是有区别的

  • ==:只比较是否相等,不区分数据类型,哪怕类型不一致,==也会自动转换类型进行值的比较
  • ===:不光比较值,还要比较类型,如果类型不一致,直接返回false

在js中,虽然不区分数据类型,但是有时候涉及到数值计算,还是需要进行类型转换的,js中可以通过parseInt()函数将其他类型转换成数据类型。

0,null,underfined,“”,NaN理解成false,反之理解成true

函数

JavaScript中的函数被设计为执行特定任务的代码块,通过关键字function来定义。

第一种定义格式:

function 函数名(参数1, 参数2…){

​ 要执行的代码

}

注意:因为JavaScript是弱数据类型的语言

  • 形式参数不需要声明类型,并且JavaScript中不管什么类型都是let或者var去声明,加上也没有意义
  • 返回值也不需要声明类型,直接return即可

如:

function add (a,b){

​ return a + b;

}

第二种定义格式

第二种可以通过var去定义函数的名字,具体格式如下:

var functionName = function (参数1,参数2…){

​ // 要执行的代码

}

基本对象
1、array对象

Array对象是用来定义数组的。常用语法格式有如下2种:

方式1:

var 变量名 = new Array(元素列表);

如:

var arr = new Array(1,2,3,4);

方式2:

var 变量名 = [元素列表];

如:

var arr = [1,2,3,4];

特点:与Java种不一样的是,JavaScript中数组相当于Java中的集合,数组的长度是可以变化的。而且JavaScript是弱数据类型的语言,所以数组中可以存储任意数据类型的值。

属性和方法

属性:

属性描述
length设置或返回数组中元素的数量

方法:

方法描述
forEach()遍历数组中的每个值的元素,并调用一次传入的函数
push()将新元素添加到数组的末尾,并返回新的长度
splice()从数组中删除元素

splice()函数:

splice()函数用来删除数组中的元素,函数填入2个参数

参数1:表示从哪个索引位置删除

参数2:表示删除元素的个数

2、String对象
语法:

String对象的创建方式有2种

方式1:

var 变量名 = new String(“…”);

例如:

var str = new String(“Hello String”);

方式2:

var 变量名 = “…”;

例如:

var str = ‘Hello String’;

属性和方法

属性:

属性描述
length字符串的长度

方法:

方法描述
charAt()返回在指定位置的字符
indexOf()检索字符串
trim()去除字符串两边的空格
substring()提取字符串种两个指定的索引号之间的字符
3、JSON对象

自定义对象

var 对象名 = {

​ 属性名1:属性值1,

​ 属性名2:属性值2,

​ 属性名3:属性值3,

​ 函数名称:function(形参列表){}

};

通过如下语法调用属性和方法:

对象名.属性名

对象名.函数名()

json对象

JSON对象:JavaScript Object Notation,JavaScript对象标记法。通过JavaScript标记法书写的文本。

{

​ “key”:value,

​ “key”:value,

​ “key”:value,

}

其中,key必须使用引号并且是双引号标记,value可以是任意数据类型

var obj = JSON.parse(jsonstr); // 字符串转换为json对象

JSON.stringify(obj); // 将json对象转换为字符串

BOM对象

BOM的全称是Browser Object Model(浏览器对象模型)。也就是JavaScript将浏览器的各个组成部分封装成了对象。

BOM中提供了如下5个对象:

对象名称描述
Window浏览器窗口
Navigator浏览器对象
Svreen屏幕对象
History历史记录对象
Location地址栏对象

img

window对象

window对象提供了获取其他BOM对象的属性:

属性描述
history用于获取history对象
location用于获取location对象
Navigator用于获取Navigator对象
Screen用于获取Screen对象

函数:

函数描述
alert()显示带有一段消息和一个确认按钮的警告框
comfirm()显示带有一段消息以及确认按钮和取消按钮的对话框
setInterval()按照指定的周期(以毫秒计)来调用函数或计算表达式
setTimeout()在指定的毫秒数后调用函数或计算表达式

setInterval(fn,毫秒值):定时器,用于周期性的执行某个功能,并且循环执行。

fn:函数,需要周期性执行的功能代码

毫秒值:间隔时间

如:

var i = 0;

setInterval(function(){

​ i++;

​ console.log(“定时器执行了”+i+“次”);

},2000);

setTimeout(fn,毫秒值):定时器,只会在一段时间后执行一次功能。

如:

setTimeout(function(){

​ alert(“js”);

},3000);

location对象

location是指代浏览器的地址栏对象,对于这个对象,常用的是href属性,用于获取或者设置浏览器的地址信息。

DOM对象

DOM:Document Object Model(文档对象模型)。也就是JavaScript将HTML文档的各个组成部分封装成对象。

获取DOM对象

document对象提供的用于获取Element元素对象的api如下表:

函数描述
document.getElementById()根据id属性值获取,返回单个Element对象
document.getElementByTagName()根据标签名称获取,返回Element对象数组
document.getElementsByName()根据name属性值获取,返回Element对象数组
document.getElementsByClassName()根据class属性值获取,返回Element对象数组
JavaScript事件

事件:

  • 按钮被点击
  • 鼠标移到元素上
  • 输入框失去焦点

主要围绕两点:

  • 事件绑定
  • 常用事件
事件绑定

方式1:通过html标签中的属性进行绑定

<input type=“button” id=“btn1” value=“事件绑定1” οnclick=“on()”>

方式2:通过DOM中Element元素的事件属性进行绑定

<input type=“button” id=“btn2” value=“事件绑定2”>

通过获取id属性获取按钮对象,然后操作对象的onclick属性来绑定事件

document.getElementById(‘btn2’).onclick = function(){

​      alert(“按钮2被点击了…”);

}

常见事件
事件属性名说明
onclick鼠标单击事件
onblur元素失去焦点
onfocus元素获得焦点
onload某个页面或图像被完全加载
onsubmit当表单提交时触发该事件
onmouseover鼠标被移到某元素之上
onmouseout鼠标从某元素移开
今天也是开心的一天!!!

img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值