### 运算符
- 算数:` +加、-减、*乘、/ 除、%取模 `
- 实例:隔行变色、秒转时间
- 赋值:` =、+=、-=、*=、/=、%= `
- ` +=` : `i += 1 等于 i++ `
- 关系:` <、>、<=、>=、== 、===、!=、!==`
- `!==` :不同类型不比较,且无结果,同类型才比较,对应 `===`
- `!=`:若类型不同,会偿试转换类型,对应 `== `
- 逻辑:&&与、||或、!否
- 实例:全选与反选
- 运算符优先级:括号
- 代码:
```HTML
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>运算符</title>
<style>
.blue {
width: auto;
height: 20px;
background: blue;
}
.yellow {
width: auto;
height: 20px;
background: yellow;
}
</style>
<script>
window.onload = function () {
// 封装 getElementById 函数
function get(id) {
return document.getElementById(id);
}
// 封装 getElementsByTagName
function gets(tagName) {
return document.getElementsByTagName(tagName)
}
// 隔行变色
function liCol() {
let i = 0;
let oLi = gets('li') ;
for (i = 0; i < oLi.length; i++) {
if (i % 2 === 0) {
oLi[i].className = 'blue';
} else {
oLi[i].className = 'yellow';
}
}
}
liCol();
// 毫秒转日期
const date = Date.now();
// 60000ms / 1000ms /60s /60m /24h /365d
const millisecond = date % 1000 + '毫秒';
const second = parseInt(date/1000) % 60 + '秒';
const minute = parseInt(date/1000/60) % 60 + '分';
const hour = parseInt(date/1000/60/60) % 24 + 8 + '小时';
const day = parseInt(date/1000/60/60/24/365) % 30 - 9 + '号';
const month = parseInt(date/1000/60/60/24/30) % 12 + 4 + '月';
const year = parseInt(date/1000/60/60/24/265) + 1951 +'年';
const d1 = get('d1');
d1.innerHTML = millisecond+ second+ minute+ hour+ day+ month+ year;
}
// 赋值 ` =、+=、-=、*=、/=、%= `
let i = 11;
i += 2;
console.log(i);
i -= 3;
console.log(i);
i *= 2;
console.log(i);
i /= 2;
console.log(i);
i %= 3;
console.log(i);
// 判断 <、>、<=、>=、== 、===、!=、!==
if (i > 0) {
console.log('i > 0');
}
if (i <= i) {
console.log('i <= i');
}
if (i == '1') {
console.log('i == "1"')
}
if (i === 1) {
console.log('i === 1')
}
if (i != '1') {
console.log('i != 2')
}
if (i !== 1) {
console.log('i !== 1')
}
// 逻辑 &&与、||或、!否
if (i<2 && i>0) {
console.log('i<2 && i>0')
}
if (i<2 || i<0) {
console.log('i<2 || i<0')
}
</script>
</head>
<body>
<div>
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div id="d1"></div>
</body>
</html>
```
- 前言
- 初探 JavaScript 魅力
- JavsScript 是什么
- 第一个 JS 特效:鼠标提示框
- 网页换肤和 if 判断
- 函数传参
- 循环 while 和 for
- 导航栏选项卡
- JS 简易日历
- JavaScript 基础
- JavaScript 组成
- 变量类型
- 变量类型转换
- 变量的作用域和闭包
- 命名规范
- 运算符
- 程序流程控制
- JSON
- 深入 JavaScript
- 函数返回值
- 函数传参与行间样式
- 数组基础操作
- 定时器的使用
- 定时器的作用
- 数码时钟
- Date 对象其它方法
- 延时提示框
- 无缝滚动
- DOM基础应用
- DOM 基础
- DOM 节点
- 操作元素属性
- DOM 元素灵活查找
- DOM 操作应用
- 创建、插入和删除元素
- 文档碎片
- DOM操作应用高级
- 表格标签
- 表格应用
- 表单应用
- JS 运动基础
- 运动基础
- 运动框架及应用
- 缓冲运动
- 运动的停止条件
- JS 运动应用
- 多物体运动框架
- 任意值运动框架
- 仿 Flash 图片展示
- JS 运动中级
- 链式运动框架
- 完美运动框架
- 运动框架总结
- 运动框架应用
- JS事件基础
- Event 对象和事件
- 鼠标事件
- 键盘事件
- JS 事件中级
- 默认事件
- 拖拽
- JS 事件高级应用
- 事件绑定
- 高级拖拽
- 自定义滚动条
- Ajax 基础
- Ajax 是什么
- 使用 Ajax
- Ajax 原理
- Ajax 中级
- 编写 Ajax
- Ajax 数据
- JS 面对对象基础
- 面对对象是什么
- JS 中的面对对象
- 第一个面对对象的程序
- 工厂方式
- 原型:Prototype
- 面对对象编程方式
- JS 面对对象实例
- 面对对象的选项卡
- JS 面对对象高级
- Json 方式的面向对象
- 拖拽和继承
- 使用继承
- 系统对象
- BOM 应用
- BOM 基础
- 尺寸及坐标
- 常用方法和事件
- COOKIE 基础与应用
- 什么是 cookie
- 使用 cookie
- JS 中的正则表达式
- 正则表达式基础
- 字符串与正则配合
- 字符串
- 量词
- 常用正则例子
- JS Template 模板引擎
- 特性
- 语法
- 实例
- 表达式和运算符分类
- 主要表达式
- 左表达式
- 自增和自减
- 一元运算符
- 算术运算符
- 关系运算符
- 相等运算符
- 位移运算符
- 二进制位运算符
- 二元逻辑运算符
- 条件(三元)运算符
- 赋值运算符