个人需要注意的点

  1. 当 JavaScript 中的变量被声明的时候,程序内部会给它一个初始值undefined。当你对一个值为undefined的变量进行运算操作的时候,算出来的结果将会是NaNNaN的意思是"Not a Number"。当你用一个值是undefined的变量来做字符串拼接操作的时候,它会输出字符串"undefined"。(变量默认初始值undfined,运算操作结果是NAN,字符串拼接结果是undfined

  2. 变量名称最佳实践驼峰命名法使用驼峰命名法来书写一个 Javascript 变量,在驼峰命名法中,变量名的第一个单词的首写字母小写,后面的单词的第一个字母大写。

  3. 特殊字符转义在 JavaScript 中,你可以通过在引号前面使用反斜杠(\)来转义引号。

  4. 单引号和双引号的功能在 JavaScript 中是相同的。

  5. \' 单引号
    \" 双引号
    \\ 反斜杠
    \n 换行符
    \r 回车符
    \t 制表符
    \b 退格
    \f 换页符
  6. 在 JavaScript 中,字符串的值是 不可变的,myStr[0]="A"并不会使得myStr的第一个值变为A.

  7. js数组常用方法.push()存入一个数据,.pop()移出最后一个数据,.shift()移出第一个数据,.unshift()移入一个数据到头部

  8. 在函数没有return语句的情况下,当你调用它时,该函数会执行内部代码,返回的值是undefined

  9. 严格相等运算符(===)是相对相等操作符(==)的另一种比较操作符。与相等操作符不同的是,它会同时比较元素的值和数据类型。3===‘3’ false, 3==‘3’ true

  10. 严格不相等运算符(!==)与全等运算符是相反的。严格相等运算符不会转换值的数据类型。3!==‘3’ true 3!=‘3’ false

  11. 创建一个对象,两种取值方式

var ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};
//取出相应的属性
var a = ourDog.name
var b = ourDog["name"]
//像修改属性似的添加一个属性
myDog.break="woof"
//删除对象属性
delete myDog.tails;
//检查对象是否有该属性
myDog.hasOwnProperty("legs") //true
  1. Math.random()用来生成一个在0(包括 0)到1不包括 1)之间的随机小数,因此Math.random()可能返回 0 但绝不会返回 1。

  2. 生成随机整数,Math.floor向下取整,结果为0-19Math.floor(Math.random() * 20);生成某个范围的随机整数Math.floor(Math.random() * (max - min + 1)) + min

  3. parseInt()函数解析一个字符串返回一个整数

  4. var a = parseInt("11", 2);

    参数 2 表示 “11” 使用二进制数值系统。此示例将字符串 “11” 转换为整数 3。

  5. 嵌套三元运算符num>0?"positive":num==0?"zero":"negative"判断num是大于0等于0还是小于0

js中操作数组常用的三个方法()

1. filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

filter() 不会对空数组进行检测。 filter() 不会改变原始数组。

var ages = [32, 33, 16, 40];

function checkAdult(age) {
return age >= 18;
} function myFunction() {
console.log(ages.filter(checkAdult));
}
//输出结果
32,33,40

ES6语法

var ages = [32, 33, 16, 40];
function myFunction() {
console.log(ages.filter((age)=>age>=18));
}

2. map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。map() 方法按照原始数组元素顺序依次处理元素。

map() 不会对空数组进行检测。map() 不会改变原始数组。

//返回一个数组,数组中元素为原始数组的平方根:
var numbers = [4, 9, 16, 25]; function myFunction() {
x = document.getElementById("demo")
x.innerHTML = numbers.map(Math.sqrt);
}
//输出结果
2,3,4,5

3. reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

reduce() 对于空数组是不会执行回调函数的。

//计算元素相加后的总和
var numbers = [65, 44, 12, 4]; function getSum(total, num) {
return total + num;
}
function myFunction(item) {
console.log(numbers.reduce(getSum));
}
//输出结果
125

ES6语法

var numbers = [65, 44, 12, 4];
function myFunction(item) {
console.log(numbers.reduce((total,num)=>total+num));
}

(二)js基础。。。freecodecamp笔记的更多相关文章

  1. JS基础知识笔记

    2020-04-15 JS基础知识笔记 // new Boolean()传入的值与if判断一样 var test=new Boolean(); console.log(test); // false ...

  2. handlebars.js基础学习笔记

    最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...

  3. 两万字Vue.js基础学习笔记(二)

    Vue.js学习笔记(二) 4.模块化开发 ES6模块化的导入和导出 我们使用export指令导出了模块对外提供的接口,下面我们就可以通过import命令来加载对应的这个模块了 首先,我们需要在HTM ...

  4. js基础学习笔记(二)

    2.1  输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用“”括起,直接输出&q ...

  5. 两万字Vue.js基础学习笔记

    Vue.js学习笔记 目录 Vue.js学习笔记 ES6语法 1.不一样的变量声明:const和let 2.模板字符串 3.箭头函数(Arrow Functions) 4. 函数的参数默认值 5.Sp ...

  6. Javascript进阶篇——(JS基础语法)笔记整理

    根据慕课网学习整理到一起的笔记,把东西整理到一起看起来比较方便 什么是变量字面意思:变量是可变的量:编程角度:变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品可 ...

  7. node.js 基础学习笔记3 -express

    1.工作原理 当通过app.js建立的服务器时,会看到一个简单的页面.返回页面时,浏览器会向服务器发送请求.app会解析请求的路径,调用相应的逻辑,调用对应的视图模板,传递对象数值,最终生成HTML页 ...

  8. javascript-智能社-JS基础A笔记

    JavaScript基础A JavaScript组成 ECMA : 全称ECMAScript,解释器.计算机语言的翻译 DOM:全称Document Object Model,赋予了JS操作HTML的 ...

  9. js 基础学习笔记(一)

    javascript基础 .组成部分:由 ECMAScript(翻译,核心,解释器).DOM(操作HTML的能力).BOM(浏览器window)三部分组成. 兼容性依次为 [1.几乎没有兼容性问题.2 ...

  10. node.js 基础学习笔记3 -http

    http模块,其中封装了一个高效的HTTP服务器和一个建议的HTTP客户端 http.server是一个基于事件的HTTP服务器 http.request则是一个HTTP客户端工具,用户向服务器发送请 ...

随机推荐

  1. Java基础00-分支语句6

    1. 流程控制 1.1 流程控制语句概述 1.2 流程控制语句分类 1.3 顺序结构 2. if语句 2.1 if语句格式1 适合一种情况的判断 执行流程图: 2.2 if语句格式2 适合两种情况的判 ...

  2. python之数据驱动ddt操作(方法三)

    import unittestfrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport unitt ...

  3. 解决pip下载速度慢的问题

    解决链接:https://blog.csdn.net/u013901768/article/details/82343512 感谢这位博主的分享. 博客内容如下: 1. 安装时强制使用国内源进行安装, ...

  4. GC Roots包含哪些

    1.虚拟机栈中引用的对象 2.方法区中静态属性.常量引用的对象 3. 本地方法栈中引用的对象 4. 被Synchronized锁持有的对象 5. 记录当前被加载类的SystemDictionary 6 ...

  5. Xshell 打开时,初始运行卡慢优化方法

    我使用的是Xshell 6免费版,有需要的同学可以去这个地址下载:https://www.netsarang.com/download/down_form.html?code=622 一开始安装完Xs ...

  6. JBoss JMXInvokerServlet 反序列化漏洞

    poc地址:https://cdn.vulhub.org/deserialization/DeserializeExploit.jar

  7. linux中的dhcp

    目录 一.DHCP服务 二.DHCP的租约过程 三.使用DHCP动态配置主机地址 四.安装DHCP服务器 一.DHCP服务 ① DHCP (Dynamic HostConfiguration Prot ...

  8. LVM磁盘配额

    目录 一.LVM概述 1.1.逻辑卷管理 1.2.LVM机制的基本概念 二.LVM管理命令 三.磁盘配额概述 3.1.实现磁盘配额的条件 3.2.Linux磁盘限额的特点 3.3.常用命令及选项 3. ...

  9. 免费,好用的天气预报API

    不多说直接上! 一.API服务,天气API 网站:http://api.help.bj.cn/api/ 怎么使用网站有很详细的解释 $.ajax({ type: "GET", // ...

  10. 从Python到Go:初学笔记

    本文记录了我在学习Go的过程时的一些笔记,主要是比较Python和Go之间的差异并作简单描述,以此使Python程序员对Go语言的特性有简略的了解.初学难免有纰漏,欢迎各位批评指正补充交流,谢谢. 数 ...