:-: 知识点清单
* * * * *
- 一个变量如果没有定义输出的undefined
- 声明提前原则:变量默认会在前面声明,赋值时的内容在后面。
- 使用var后声明变量先使用不报错 使用let 赋值先使用在赋值时会报错。
- 在没有写var时赋值时 会默认的给补一个var
- 使用'use strict'严格模式 在使用时必须严格先var再使用
- typeof 查看变量的数据类型
- 单引号和双引号包裹的都是string类型
- 声明一个变量值为null时在控制台输出的是object
- 定义数组 var arr =[1,2,3];
- 定义函数:function name(){ 函数体 }
- 箭头函数: var demo =()=>{ 函数体 }
- json对象:
~~~
var tongjianshe={
name:"tongjianshe",age:20,sex:"male"
console.log(tongjianshe.name)
Console.log(tongjianshe["name"]);
}
~~~
- 在es5中 var namn="tong" ;var age=30; var tong={name:name age:age}
- 在es6中 var tong={name age}
- 在函数中如果不使用var关键字声明一个变量时 系统会默认的将其视为全局变量在函数体外可以看到使用typeof查看属性不是undefined
- 算数的加减乘除运算底层自动转换成number型进行计算如果转换不了那么就是nan型 nan和其他类型做运算的值还为nan
- NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。
- const用来定义常量(不能修改)
- 转义符使用:/(在要输出的内容前加一个单斜杠)
- ===严格相等值和类型都相等
- var age=window.prompt("弹出窗口友好的提示")
- string->number:使用parseint() parsefloat() (注意:string的开头第一个要-以数字开头,如果不以数字开头输出的是nan)
### `if` 语句和 `switch case`语句
~~~
<script>
// if语句中()的值接收boolean类型,如果不是boolean会强制转换成boolean
// 只有五种情况下的转化成boolean型时false 0,"",nan,undefu,null其他都为true
var x = 1;
switch (x) {
case 1:{
console.log('x 等于1');
break;
}
case 2:{
console.log('x 等于2');
break;
}
default:
console.log('x 等于其他值');
}
</script>
~~~
### tostring
~~~
<script>
// x.toString(); x不是undefined或null时,才可用
// String(x)
var a = "true";
console.log(a.toString())
</script>
~~~
### other-->boolean 使用 boolean();
~~~
就这五种情况为false
"", 0 ,nan,nudefined, null,-->false
其他情况都是true
~~~
## this
~~~
javascrip的顶级作用域是window,全局变量是window的属性,函数是window的方法;
this的指向:
1.在事件中,this指向正在执行事情的当前对象
2.在方法中,谁调用方法,this指向谁
eg:
var a=10;
//window.a=10;
function b(){
console.log(this.a);
}
//window.b();
b();
console.log(window.a);
~~~
## 前加加 后加加
~~~
后加加的那个加加并不参数值运算,等表达式计算完毕 然后后加加的值再自增
前加加相反
eg:
b+=++a
a=1 b=2
2+=2
b=4,a=2
b+=a++
2+=1,然后a=2
~~~
## for循环
~~~
for循环里面使用var 定义变量 在大括号外面也可以读到因为在es5中js没有块级作用域 在es6中使用let来声明一个变量 在大括号以外是看不到的
break;跳出当前循环
continue是结束上层循环的当前循环 继续进行下一次循环
~~~
## 点击隐藏 显示
~~~
HTML DOM classList 属性下的toggle方法
toggle(class, true|false) 在元素中切换类名。
hide.classList.toggle("none");点击按钮显示和隐藏
第一个参数为要在元素中移除的类名,并返回 false。
如果该类名不存在则会在元素中添加类名,并返回 true。
~~~
## js dom下的常用属性
~~~
document.getElementsByTagName("li")//获得元素名
document.querySelectorAll(".content>div"); //支持css里面的所有选择器--万能选择器
getComputedStyle(类名).样式
~~~
return: 就是函数的一个执行结果 return语句执行后就会终止执行
~~~
function a(){
return 1;
console.log(123);
}
var b=a();
console.log(b);
~~~
- JavaScript介绍
- js基本语法
- 调试方法
- 标识符
- 数据类型(基本,引用)
- 基本数据类型
- 引用数据类型
- 严格模式.
- 全局变量和局部变量
- DOM 节点
- DOM 改变元素内容(样式 内容)
- 节点改变元素内容(通过父子节点找到元素然后操作)
- 添加元素
- 设置 移除 属性
- DOM下的事件
- 知识点整理
- 异步
- Ajax
- this指向问题
- 设备类型检测(手机 平板 电脑)
- 函数
- 函数的参数
- 重载
- 数据类型
- 构造函数
- 返回上一个网页
- 数组 (重点)
- 增加数组内容
- 删除数组元素
- 复制数组
- 修改数组元素(功能强大实现 增 删 改)
- 数组元素查询
- 数组遍历
- 最值
- 展开语法
- join
- 排序问题
- 求和
- 颠倒数组
- 判断是不是一个数组
- 二维数组
- 数组和字符串之间转换
- 数组去重
- 将jquery对象转为javascript对象
- 元素偏移量
- 获取一个元素距离顶部的距离
- 可视区域宽高
- 布局视口 (移动设备)
- 文档碎片
- 表格中的 thead tbody
- 获取元素宽度
- 滚动区域宽高
- div滚动条设置
- 使用 offsetWidth 设置父元素宽度和子元素宽度之和一样
- 字符串的方法
- js功能实现
- 点击显示 隐藏
- 点击变色 兄弟元素隐藏.
- 点击显示隐藏区域.
- 兼容性问题.
- 选择按钮,
- 获取外部样式
- 点击弹出下标
- 通过属性改变img 的src
- 小米登录 es6实现js
- try catch
- 小米登录es5实现js
- js实现导航栏点击加载多个页面
- js实现网页之间的跳转和在指定div加载页面
- iframe 高度实现自适应
- js 获取滚动条距离顶端的距离
- jQuery animate() 方法 动画效果
- fade(js实现遮罩层渐变色)
- js轮播实现
- 超哥轮播js
- 轮播动画原理
- 数组实现瀑布流
- 电子表计时器date
- 从豆瓣接口上取数据实现搜索功能(重点!!!!)
- 封装
- 不使用js-ajax 使用VueResource实现数据请求
- 需要常看的知识点
- 移动端响应布局rem
- rem+vw
- 原型
- JS的模块化如何解决
- ES5和ES6模块化写法
- js内置对象
- 结构赋值es6
- 字符串模板 分割字符串
- 谈基本数据类型中的方法(本不带有方法)
- Math
- date
- 正则
- 备选字符集
- 连号的备选字符集
- replace() 查找替换(过滤)
- 量词
- 不确定的数量
- search找下标
- test()检验是否包含正则表达式
- 实例
- 验证电话号码
- 邮箱验证
- 将指定内容过滤(天猫 淘宝)
- 预定义字符集(简化)
- 严格匹配 ^ $
- Ajax
- http get post
- $.get()和$.post()详解
- jquery-ajax 数据请求
- 使用Vue Ajax在网页中渲染数据
- axios向服务器端get,post数据(重点)
- 跨域
- 原生Ajax
- 原理步骤 json解析字符串
- 多态
- js中的面向对象
- js中的类和继承
- 原型和原型链
- 参数表达式
- 字符串中常用的方法
- mock.js
- scrollReveal 滚动显示
- Node.js模块里exports与module.exports的区别