JavaScript基础学习笔记1 (W3school JS教程)
JavaScript 能够以不同方式“显示”数据:
- window.alert() 写入警告框
- document.write() 写入 HTML 输出(在 HTML 文档完全加载后使用 document.write() 将删除所有已有的 HTML ,一般仅用于测试)
- innerHTML 写入 HTML 元素
- console.log() 写入浏览器控制台
运算符:
- 比较运算符: ==等于 ===等值类型 !=不相等 !==不等值或不等型 ?三元运算符
- 逻辑运算符: && || !
- 类型运算符:typeof 返回变量的类型 instanceof 返回 true,如果对象是对象类型的实例。
- 位运算符: 位运算符处理 32 位数,该运算中的任何数值运算数都会被转换为 32 位的数。结果会被转换回 JavaScript 数。
- JavaScript 运算符优先级值:https://www.w3school.com.cn/js/js_arithmetic.asp
数据类型:
- 当数值和字符串相加时,JavaScript 将把数值视作字符串。(从左向右计算表达式)
- 动态类型--->相同变量可用作不同类型
- 没有值的变量,其值是 undefined;null 的数据类型是对象。空值与 undefined 不是一回事。空的字符串变量既有值也有类型。任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined。可以通过设置值为 null 清空对象。Undefined 与 null 的值相等,但类型不相等:
- 原始数据值是一种没有额外属性和方法的单一简单数据值。 ypeof 运算符可返回以下原始类型之一:string number boolean undefined
- 复杂数据 typeof 运算符把对象、数组或 null 返回 object;另外一种返回为function
函数:
- 访问没有 () 的函数将返回函数定义,方法实际上是以属性值的形式存储的函数定义。
- 局部变量在函数开始时创建,在函数完成时被删除。
- 在函数定义中,this 引用该函数的“拥有者”。
对象:
- 不要把字符串、数值、布尔值声明为对象(不要用过New关键字来声明)
- 对象无法比较 (==或===都为false)
事件:
常见的HTML事件:onchange,onclick,onmouseover,onmouseout,onkeydown,onload
字符串:
- \b退格 \f 换页 \n新行 \r回车 \t水平制表符 \v垂直制表符(用于打印等,在html中无意义)
- 字符串查找:indexOf()---可以设置第二个开始位置参数。 search()---可以设置正则表达式
- 提取字符串:
- slice(start, end) ---如果某个参数为负,则从字符串的结尾开始计数
- substring(start, end) ----无法接受负的索引
- substr(start, length) ---第二个参数规定被提取部分的长度,如果省略第二个参数,则该 substr() 将裁剪字符串的剩余部分。
4. 替换字符串:replace() 方法不会改变调用它的字符串。它返回的是新字符串,默认只替换首个匹配(/g匹配全部),大小写敏感(/i改为不敏感)
5. 大小写转换:toUpperCase() toLowerCase()
6. 连接字符串:concat(),相当于+ 返回新字符串,不改变原来的
7. trim() 方法删除字符串两端的空白符:
8. 提取字符串字符:charAt() 方法返回字符串中指定下标(位置)的字符串,charCodeAt() 方法返回字符串中指定索引的字符 unicode 编码。
9. 允许对字符串进行属性访问,但是不靠谱,不推荐
10. 把字符串转换为数组:split() 接分隔符
数字:
- JavaScript数字始终是64位浮点数 (其中 0 到 51 存储数字(片段),52 到 62 存储指数,63 位存储符号)
- 浮点的算数并不总是 100% 精准(可用乘除解决)
JavaScript 的加法和级联(concatenation)都使用 + 运算符。数字用加法。字符串用级联。
NaN :非数值,属于 JavaScript 保留词,指示某个数不是合法数。函数 isNaN() 来确定某个值是否是数。NaN 是数,typeof NaN 返回 number
Infinity: 在计算数时超出最大可能数范围时返回的值。除以0会得到infinity,typeOf Infinity 返回 number
不要用前导零写数字,一些 JavaScript 版本会把带有前导零的数解释为八进制。能够使用 toString() 方法把数输出为十六进制、八进制或二进制myNumber.toString(16)
toString() 以字符串返回数值。toExponential() 返回字符串值,它包含已被四舍五入并使用指数计数法的数字。toFixed() 返回字符串值,它包含了指定位数小数的数字。toPrecision() 返回字符串值,它包含了指定长度的数字。valueOf() 以数值返回数值
把变量转化为数值:Number()---如果无法转换数字,则返回 NaN,可以把日期转换为数字,方法返回 1970 年 1 月 1 日至今的毫秒数 parseFloat() 、parseInt()解析一段字符串并返回数值。允许空格。只返回首个数字
数组:
- 添加元素:push, 设置 length 属性arr[arr.length] =
- 数组只能使用数字索引 不能使用命名索引---会导致混乱
- Array.isArray() 判断是否是数组,用typeof返回的是Object 或 instanceof Array---返回true
- 方法:
- toString() 把数组转换为数组值(逗号分隔)的字符串;
- join() 方法也可将所有数组元素结合为一个字符串(可设置分隔符);
- pop() 方法从数组中删除最后一个元素(pop() 方法返回“被弹出”的值);
- push() 方法(在数组结尾处)向数组添加一个新的元素(push() 方法返回新数组的长度);
- shift() 方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引(shift() 方法返回被“位移出”的字符串);
- unshift() 方法(在开头)向数组添加新元素,并“反向位移”旧元素(unshift() 方法返回新数组的长度);
- delete删除元素 会在数组留下未定义的空洞(不要使用,用pop或shift替代);
- splice() 方法可用于向数组添加新项:第一个参数定义了应添加新元素的位置(拼接)。第二个参数定义应删除多少元素。其余参数定义要添加的新元素。可以用来删除元素
- concat() 方法通过合并(连接)现有数组来创建一个新数组
- slice() 方法用数组的某个片段切出新数组。
- sort() 方法以字母顺序对数组进行排序,sort() 函数按照字符串顺序对值进行排序,不能排数值(数值使用比值函数points.sort(function(a, b){return a - b});
- reverse() 方法反转数组中的元素。
- Math.max.apply 来查找数组中的最高值 Math.min()
5.数组迭代:
- Array.forEach()
- Array.map() ---(value, index, array)
- Array.filter() ---创建一个包含通过测试的数组元素的新数组
- Array.reduce() ---在每个数组元素上运行函数,以生成(减少它)单个值。
- Array.every() 和Array.some()---检查所有或部分数组值是否通过测试 (value, index, array) 返回true或false
- indexOf() ---在数组中搜索元素值并返回其位置。 .lastIndexOf()
- find() ---返回通过测试函数的第一个数组元素的值。 findIndex() ---返回通过测试函数的第一个数组元素的索引。
数学:
- Math.round(x) 的返回值是 x 四舍五入为最接近的整数
- Math.pow(x, y) 的返回值是 x 的 y 次幂
- Math.sqrt(x) 返回 x 的平方根
- Math.abs(x) 返回 x 的绝对(正)值
- Math.ceil(x) 的返回值是 x 上舍入最接近的整数
- Math.floor(x) 的返回值是 x 下舍入最接近的整数:
- Math.sin(x) 返回角 x(以弧度计)的正弦(介于 -1 与 1 之间的值)。 cos余弦
- Math.min() 和 Math.max() 可用于查找参数列表中的最低或最高值
- Math.random() 返回介于 0(包括) 与 1(不包括) 之间的随机
- Math.random() 与 Math.floor() 一起使用用于返回随机整数。 Math.floor(Math.random() * 100); ----返回0-99
JavaScript基础学习笔记1 (W3school JS教程)相关推荐
- JavaScript 基础学习笔记
JavaScript 基础 一.初始 JavaScript 1.JS 注释 2.JS 输入输出语句 二.变量 1.变量概述 1)什么是变量 2)变量在内存中的存储 2.变量的使用 3.变量的初始化 4 ...
- [JS]JavaScript基础学习笔记(黑马pink+尚硅谷李立超)
文章目录
- ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步
http://blog.jobbole.com/85008/ ASP.Net MVC开发基础学习笔记(5):区域.模板页与WebAPI初步 2015/03/17 · IT技术 · .Net, Asp. ...
- Python3 基础学习笔记 C01【变量和简单数据类型】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C09【文件和异常】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C08 【类】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C07【函数】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C06【用户输入和 while 循环】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C05【字典】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
最新文章
- 项望烽:移动 IM 开发之心跳​
- html语言中括号怎么打,HTML语言中括号(尖括号)的字符编码
- openlayer调用geoserver发布的地图实现地图的基本功能
- 【hihocoder - offer编程练习赛60 A】hohahola(贪心,二分)
- java读写html文件时出现中文乱码问题的解决方法
- mysql日期为00_MySQL 8.0.13 设置日期为0000-00-00 00:00:00时出现的问题
- Git-第二篇廖雪峰Git教程学习笔记(1)基本命令,版本回退
- immunedeconv估算免疫细胞比例
- 火车头伪原创php-火车头采集伪原创插件
- java铁三公路自行车_公路车、计时车、铁三车,到底都是什么鬼?
- simditor 图片上传成功后修改图片地址
- python3从零学习-python宗谱
- C语言学习笔记——(三)静态开辟内存和动态开辟内存
- X/Y/Z Modem、Kermit区别
- python熊猫图案_熊猫备忘单–适用于数据科学的Python
- Python数据结构与算法基础|第三期:代码实现——顺序存储队列与链式存储队列
- 自定义模块:根据光导的导光条件计算光栅周期
- PaddleOCR车牌检测识别训练、部署
- Python背单词记单词小程序,可自定义词库,支持多种记忆模式,根据词义拼写、选择单词,根据词意选择单词
- W3C推荐的新布局模式 【CSS Flex布局】详解
热门文章
- 软件人员kpi制定模板_免费绩效考核软件(公司KPI怎么做)
- 树莓派VNC远程桌面使用,包含静态IP设置与窗口大小调整 (附软件链接)
- 【机器学习自学笔记4】朴素贝叶斯分类器
- 关于iebook的应用和传播(破解)
- 从sql server 到mysql,从Microsoft SQL Server到MySQL的转换
- 万年迷思解密:生食真的比熟食更健康吗?
- 火云邪神ddos使用_DDoS攻击基础教程
- 云计算的认识和看法_请谈谈你对云计算的理解?
- Light Propagation Volumes in CryEngine 3
- Scala学习4之快学scala第六章习题之6.6花色枚举