JavaScript 能够以不同方式“显示”数据:

  • window.alert() 写入警告框
  • document.write() 写入 HTML 输出(在 HTML 文档完全加载后使用 document.write() 将删除所有已有的 HTML ,一般仅用于测试)
  • innerHTML 写入 HTML 元素
  • console.log() 写入浏览器控制台

运算符:

  1. 比较运算符:   ==等于   ===等值类型   !=不相等  !==不等值或不等型  ?三元运算符
  2. 逻辑运算符:  &&    ||     !
  3. 类型运算符:typeof 返回变量的类型   instanceof 返回 true,如果对象是对象类型的实例。
  4. 位运算符: 位运算符处理 32 位数,该运算中的任何数值运算数都会被转换为 32 位的数。结果会被转换回 JavaScript 数。
  5. JavaScript 运算符优先级值:https://www.w3school.com.cn/js/js_arithmetic.asp

数据类型:

  1. 当数值和字符串相加时,JavaScript 将把数值视作字符串。(从左向右计算表达式)
  2. 动态类型--->相同变量可用作不同类型
  3. 没有值的变量,其值是 undefined;null 的数据类型是对象。空值与 undefined 不是一回事。空的字符串变量既有值也有类型。任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined。可以通过设置值为 null 清空对象。Undefined 与 null 的值相等,但类型不相等:
  4. 原始数据值是一种没有额外属性和方法的单一简单数据值。 ypeof 运算符可返回以下原始类型之一:string number  boolean  undefined
  5. 复杂数据 typeof 运算符把对象、数组或 null 返回 object;另外一种返回为function

函数:

  1. 访问没有 () 的函数将返回函数定义,方法实际上是以属性值的形式存储的函数定义。
  2. 局部变量在函数开始时创建,在函数完成时被删除。
  3. 在函数定义中,this 引用该函数的“拥有者”。

对象:

  1. 不要把字符串、数值、布尔值声明为对象(不要用过New关键字来声明)
  2. 对象无法比较 (==或===都为false)

事件:

常见的HTML事件:onchange,onclick,onmouseover,onmouseout,onkeydown,onload

字符串:

  1. \b退格   \f 换页    \n新行   \r回车   \t水平制表符  \v垂直制表符(用于打印等,在html中无意义)
  2. 字符串查找:indexOf()---可以设置第二个开始位置参数。  search()---可以设置正则表达式
  3. 提取字符串:
  • slice(startend)   ---如果某个参数为负,则从字符串的结尾开始计数
  • substring(startend)   ----无法接受负的索引
  • substr(startlength)   ---第二个参数规定被提取部分的长度,如果省略第二个参数,则该 substr() 将裁剪字符串的剩余部分。

4. 替换字符串:replace() 方法不会改变调用它的字符串。它返回的是新字符串,默认只替换首个匹配(/g匹配全部),大小写敏感(/i改为不敏感)

5. 大小写转换:toUpperCase()   toLowerCase()

6. 连接字符串:concat(),相当于+    返回新字符串,不改变原来的

7.  trim() 方法删除字符串两端的空白符:

8. 提取字符串字符:charAt() 方法返回字符串中指定下标(位置)的字符串,charCodeAt() 方法返回字符串中指定索引的字符 unicode 编码。

9. 允许对字符串进行属性访问,但是不靠谱,不推荐

10. 把字符串转换为数组:split()  接分隔符

数字:

  1. JavaScript数字始终是64位浮点数 (其中 0 到 51 存储数字(片段),52 到 62 存储指数,63 位存储符号)
  2. 浮点的算数并不总是 100% 精准(可用乘除解决)
  3. JavaScript 的加法和级联(concatenation)都使用 + 运算符。数字用加法。字符串用级联。

  4. NaN :非数值,属于 JavaScript 保留词,指示某个数不是合法数。函数 isNaN() 来确定某个值是否是数。NaN 是数,typeof NaN 返回 number

  5. Infinity: 在计算数时超出最大可能数范围时返回的值。除以0会得到infinity,typeOf Infinity 返回 number

  6. 不要用前导零写数字,一些 JavaScript 版本会把带有前导零的数解释为八进制。能够使用 toString() 方法把数输出为十六进制、八进制或二进制myNumber.toString(16)

  7. toString() 以字符串返回数值。toExponential() 返回字符串值,它包含已被四舍五入并使用指数计数法的数字。toFixed() 返回字符串值,它包含了指定位数小数的数字。toPrecision() 返回字符串值,它包含了指定长度的数字。valueOf() 以数值返回数值

  8. 把变量转化为数值:Number()---如果无法转换数字,则返回 NaN,可以把日期转换为数字,方法返回 1970 年 1 月 1 日至今的毫秒数      parseFloat() 、parseInt()解析一段字符串并返回数值。允许空格。只返回首个数字

数组:

  1. 添加元素:push,  设置 length 属性arr[arr.length] =
  2. 数组只能使用数字索引 不能使用命名索引---会导致混乱
  3. Array.isArray() 判断是否是数组,用typeof返回的是Object  或 instanceof Array---返回true
  4. 方法:
  • 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() ---返回通过测试函数的第一个数组元素的索引。

数学:

  1. Math.round(x) 的返回值是 x 四舍五入为最接近的整数
  2. Math.pow(x, y) 的返回值是 x 的 y 次幂
  3. Math.sqrt(x) 返回 x 的平方根
  4. Math.abs(x) 返回 x 的绝对(正)值
  5. Math.ceil(x) 的返回值是 x 上舍入最接近的整数
  6. Math.floor(x) 的返回值是 x 下舍入最接近的整数:
  7. Math.sin(x) 返回角 x(以弧度计)的正弦(介于 -1 与 1 之间的值)。  cos余弦
  8. Math.min() 和 Math.max() 可用于查找参数列表中的最低或最高值
  9. Math.random() 返回介于 0(包括) 与 1(不包括) 之间的随机
  10. Math.random() 与 Math.floor() 一起使用用于返回随机整数。 Math.floor(Math.random() * 100); ----返回0-99

JavaScript基础学习笔记1 (W3school JS教程)相关推荐

  1. JavaScript 基础学习笔记

    JavaScript 基础 一.初始 JavaScript 1.JS 注释 2.JS 输入输出语句 二.变量 1.变量概述 1)什么是变量 2)变量在内存中的存储 2.变量的使用 3.变量的初始化 4 ...

  2. [JS]JavaScript基础学习笔记(黑马pink+尚硅谷李立超)

    文章目录

  3. ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

    http://blog.jobbole.com/85008/ ASP.Net MVC开发基础学习笔记(5):区域.模板页与WebAPI初步 2015/03/17 · IT技术 · .Net, Asp. ...

  4. Python3 基础学习笔记 C01【变量和简单数据类型】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  5. Python3 基础学习笔记 C09【文件和异常】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  6. Python3 基础学习笔记 C08 【类】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  7. Python3 基础学习笔记 C07【函数】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  8. Python3 基础学习笔记 C06【用户输入和 while 循环】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  9. Python3 基础学习笔记 C05【字典】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

最新文章

  1. 项望烽:移动 IM 开发之心跳​
  2. html语言中括号怎么打,HTML语言中括号(尖括号)的字符编码
  3. openlayer调用geoserver发布的地图实现地图的基本功能
  4. 【hihocoder - offer编程练习赛60 A】hohahola(贪心,二分)
  5. java读写html文件时出现中文乱码问题的解决方法
  6. mysql日期为00_MySQL 8.0.13 设置日期为0000-00-00 00:00:00时出现的问题
  7. Git-第二篇廖雪峰Git教程学习笔记(1)基本命令,版本回退
  8. immunedeconv估算免疫细胞比例
  9. 火车头伪原创php-火车头采集伪原创插件
  10. java铁三公路自行车_公路车、计时车、铁三车,到底都是什么鬼?
  11. simditor 图片上传成功后修改图片地址
  12. python3从零学习-python宗谱
  13. C语言学习笔记——(三)静态开辟内存和动态开辟内存
  14. X/Y/Z Modem、Kermit区别
  15. python熊猫图案_熊猫备忘单–适用于数据科学的Python
  16. Python数据结构与算法基础|第三期:代码实现——顺序存储队列与链式存储队列
  17. 自定义模块:根据光导的导光条件计算光栅周期
  18. PaddleOCR车牌检测识别训练、部署
  19. Python背单词记单词小程序,可自定义词库,支持多种记忆模式,根据词义拼写、选择单词,根据词意选择单词
  20. W3C推荐的新布局模式 【CSS Flex布局】详解

热门文章

  1. 软件人员kpi制定模板_免费绩效考核软件(公司KPI怎么做)
  2. 树莓派VNC远程桌面使用,包含静态IP设置与窗口大小调整 (附软件链接)
  3. 【机器学习自学笔记4】朴素贝叶斯分类器
  4. 关于iebook的应用和传播(破解)
  5. 从sql server 到mysql,从Microsoft SQL Server到MySQL的转换
  6. 万年迷思解密:生食真的比熟食更健康吗?
  7. 火云邪神ddos使用_DDoS攻击基础教程
  8. 云计算的认识和看法_请谈谈你对云计算的理解?
  9. Light Propagation Volumes in CryEngine 3
  10. Scala学习4之快学scala第六章习题之6.6花色枚举