JavaScript基础学习笔记1 (W3school JS教程)

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值