@[TOC]JavaScript整体笔记简要版
这是关于JavaScript的笔记,可以作为自己学习js过程的复习和巩固的文章,文章中多的是关于一些js知识的概要,比较少的案例,不适合做入门的学习,适合作为一个复习的概要,通过这些知识点区理清学习js的思路。
//第一个js案例
//hello world是学习一门语言的开始案例,代表着我们编写的程序是一个生命,这一刻它已经诞生了
<script>
console.log("Hello world!");//在控制台的输出的语句
</srript>
JavaScript是严格区分大小写的,对于变量a 和 A 会被解析为不同的变量,在编写的时候一定要区分大小写。
含义:指的是变量、函数、属性的名称,或者函数的参数
规则:
作用:给我们创建的值或者对象一个名称,便于我们在后面的代码中反复使用
语法:(使用var关键字生命一个变量,同时也可以使用"=" 对变量进行赋值)
var a ;//申明了一个a变量
var b = 1 ;
/*申明了一个b,赋值为 1,在后面的使用b的时候,
该值就会自动替换为 1 进行计算。*/
作用:上面的学习如何生命一个变量,就必须知道变量的数据类型,便于我们进行相应的操作,如对一个数字类型的变量,可以进行加减乘除等的数学运算。
作用:用于表示一个字符序列,即字符串,js中用 单引号(’)或者(")括起来
包含着一些转义字符
转义字符 | 含义 |
---|---|
\n | 换行 |
\t | 制表 |
\b | 空格 |
\r | 回车 |
\ | 斜杠 |
’ | 单引号 |
" | 双引号 |
其他类型的可以使用方法:toString()、Sting()、字符串拼接的方式来转换成字符串类型
别称:逻辑值类型和真假值类型
取值:true(真) 或 false(假)
转化:通过Boolean()函数来转为布尔类型
typeof运算符:可以用于检查一个变量的数据类型
typeof操作的数据类型 | 结果 |
---|---|
typeof 数值 | number |
typeof 字符串 | string |
typeof 布尔型 | boolean |
typeof undefined | undefined |
typeof null | Object |
JavaScript中定义了一系列对数据进行运算的运算符
分类
作用:进行加减乘除等数学运算的运算符
运算符 | 说明 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 取模 |
++a | 前置:使用前先+1 |
a++ | 后置:使用后再+1 |
- -a | 前置,使用前先-1 |
a- - | 后置,使用后再-1 |
主要有三个: ! (非)、&&(与)、|| (或)。
运算符 | 说明 | 短路规格 |
---|---|---|
! | 逻辑非(NOT) | 无 |
&& | 逻辑与(AND) | 左边的条件为false,立刻停止,不继续对后面的进行判断 |
II | 逻辑或(OR) | 左边的条件true,立刻停止,不继续对后面的进行判断 |
作用 | 符号 |
---|---|
大小比较 | 小于(<) 、大于(>) 、小于等于(<=)和大于等于(>=) |
相等比较 | ==(判断两个值是否相等),!=(表示两个值是否不相等), ===(判断两个值是否相等) |
语法:判断条件? 取值1 : 取值2;
//三元运算符的使用
var a=1,b =2 ;
var max = a>b? a: b;
//这里相当于
if(a>b){
max =a ;
}else{
max = b;
}
程序相当于文章,之前的部分相当单词的学习,最多可以把var a =1 ;这样的当成一个语句,这个语句还是只说了一半,为了让我们的“文章”富有逻辑,就必须学习语句,语句是“文章”中的基本单位,只有一句句从头读到尾,才能明白一篇“文章”的内容。
作用:条件语句是通过判断指定表达式的值来决定执行还是跳过某些语句
if…else语句
//形式1
if(条件表达式){
语句...
}
//形式2
if(条件表达式){
语句...
}else{
语句...
}
//形式3
if(条件表达式){
语句...
}else if{
语句...
}else{
语句1...
}
switch(语句){
case 表达式1: 语句...;
break;
case 表达式2: 语句...;
break;
default: 语句...;
}
作用:满足所给的条件将会一直执行循环体内的语句
//条件为true的时候就执行。
while(条件表达式){
语句...
}
//先执行循环体的内容,再进行条件判断语句,true的时候退出
do{
语句...
}while(条件表达式);
for(初始化表达式 ; 条件表达式 ; 更新表达式){
语句...
}
作用:break 和 continue 语句用于在循环中精确地控制代码的执行。
使用的位置:只在循环和switch语句中使用。
//创建对象的方式
//方式1:
var person1 = new Object();
person.name = "库隐";
person.age = 18;//永远年轻
var person2 = {
name:"库库",
age:19
}
对象属性值的访问
//形式1:对象.属性名
person.name;
//形式2:对象['属性名']
person2['name']
构造函数
/*语法:function 构造函数名(形参1,...,形参n){
语句...
}
*/
function Person(name ,age){
this.name = name ;
this.age = age;
}
//修改属性值:
//语法:对象名.属性名 = 新属性值 ;
person1.name = "大牛";
//删除属性
//语法:delete 对象.属性名
delete person1.age ;
其实面向对象是JavaScript的一个重点,这里讲太详细的话,不够篇幅。
//语法:使用var 数组名=[数组元素,...,数组元素n];
var array1=[];
var array2 = [1,2,3];
var array3 = new Array();
var array4 = new Array(1,2,3);
//语法:数组名[索引]
var a = array1[0];//将array1中的第一个元素赋值给变量a
函数的声明与调用:
//语法
/*
方式1:
function 函数名 (形参1,...,形参n){
return 返回值;
}
*/
function add( a ,b){
return a + b ;
}
var result1 = add(1,2);
/*
方式2:
var 变量名 = function (形参1,...,形参n){
return 返回值;
}
*/
var sum = function (a , b){
return a + b;
}
//调用
var result2 = sum(1,2);
函数的内部属性:arguments 和 this
函数的调用方式 | this引用的对象 |
---|---|
构造函数 | 所生成的对象 |
调用对象的方法 | 当前对象 |
apply或call调用 | 参数指定的对象 |
其他方式 | 全局对象(window) |
含义:DOM是Document Object Model的缩写,即文档对象模型。
通过document对象调用
获取:元素对象.属性名
设置:元素对象.属性名 = 新属性值
其他属性
使用CSS选择器查询(使用document对象调用)
节点修改
插入
作用:通过事件绑定相应的函数,可以使用户和浏览器进行交互
<button onclick="alert('hello');alert('world')"> 按钮</button>
var btn = document.getElementById("btn");
btn.onclick = alert("我被点击了");
//语法:元素对象.addEventListener();
btn.addEventListener('click' , function(){alert("hello");});
事件中的this
Event对象的同一属性/方法
属性/方法 | 类型 | 读写 | 说明 |
---|---|---|---|
bubbles | Boolean | 只读 | 事件是否冒泡 |
cancelable | Boolean | 只读 | 是否可以取消事件的默认行为 |
currentTarget | Element | 只读 | 当前正在处理的事件元素 |
defaultPrevented | Boolean | 只读 | 是否调用了preventDefault() |
detail | Number | 只读 | 与事件相关的细节信息 |
eventPhase | Number | 只读 | 阶段:1.捕获、2.目标 、3.冒泡 |
preventDefault() | Function | 只读 | 取消事件的默认行为 |
stopimmediatePropagation() | Function | 只读 | 取消事件的进一步捕获或冒泡 |
stopPropagation | function | 只读 | 取消事件的进一步捕获或冒泡 |
target | Element | 只读 | 事件的目标 |
trusted | Boolean | 只读 | 是否是浏览器内置事件 |
type | String | 只读 | 被触发的事件类型 |
IE中的事件对象(兼容性问题)
属性 /方法 | 类型 | 读/写 | 说明 |
---|---|---|---|
cancelBubble | Boolean | 读/写 | 是否取消冒泡 |
returnValue | Boolean | 读/写 | 是否执行默认行为 |
srcElement | Element | 只读 | 事件目标 |
type | String | 只读 | 被触发的事件类型 |
事件的发生主要是用户操作引起的
事件的处理机制分为捕获阶段、目标阶段、事件冒泡这三个阶段。
1.捕获截断阶段
2.目标阶段
3.事件冒泡阶段
//使用event对象的方法
//方式1
event.stopPropagation();
//方式2
event.stopImmediatePropagation()
//使用 preventDefault()来取消默认行为
event. preventDefault();
window对象
属性:
setTimeout():方法
clearTimeout():方法,取消超时调用
setInterval():方法,每隔一段时间执行指定代码
系统对话框
location对象
navigator对象
screen对象: