个人需要注意的点

  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. Python语言的技术领域

    第一部分:各个领域应用的语言 大家看这个内容,其实你很明显发现,其实各个语言都有他的用处.我们可以说Python是应用最广的.但是暂时还是不能说它是全能的,因为他也有它的短板,但是对于一般的小公司和小 ...

  2. 【论文阅读】DSDNet Deep Structured self-Driving Network

    前言引用 [2] DSDNet Deep Structured self-Driving Network Wenyuan Zeng, Shenlong Wang, Renjie Liao, Yun C ...

  3. 备战- Java虚拟机

    备战- Java虚拟机 试问岭南应不好,却道,此心安处是吾乡. 简介:备战- Java虚拟机 一.运行时数据区域 程序计算器.Java 虚拟机栈.本地方法栈.堆.方法区 在Java 运行环境参考链接: ...

  4. Android系统编程入门系列之界面Activity响应丝滑的传统动画

    上篇文章介绍了应用程序内对用户操作响应的相关方法位置,简单的响应逻辑可以是从一个界面Activity跳转到另一个界面Activity,也可以是某些视图View的相对变化.然而不管是启动一个界面执行新界 ...

  5. 微信小程序创建第一个项目

    一.打开微信开发者工具,扫码登录 二.点击右侧的加号,添加小程序 第三步:创建成功后,报错 VM82:1 cloud init error: Error: invalid scope 没有权限,请先开 ...

  6. Python基础之实现界面和代码分离

    第一步:用QT Designer画一个TreeWidget,存为treeview4.ui,这个处理前面TreeWidget那一节讲过,这里不细讲 treeview4.py # -*- coding: ...

  7. python errno库与socket.connect_ex()方法的结合使用

    前言:一般socket链接会首选connect方法,该方法会一直尝试链接.那么今天展示下connect_ex()方法,该方法如果链接成功会返回0,失败会返回errno库中的errorcode中的key ...

  8. 自制车速记录仪「GitHub 热点速览 v.21.31」

    作者:HelloGitHub-小鱼干 如果你有一辆普通的自行车,那么就可以使用下 X-TRACK 这个项目制作一个自己的测速器,记录你的行驶轨迹还有车速,体验一把硬件发烧友的乐趣.如果你有一个非 ma ...

  9. Qt学习-ListView的拖拽

    最近在学习Qt 里面的QML, 使用DropArea和MouseArea实现了ListView的拖拽. 想起了当年用Delphi, 差不多一样的东西, 不过那是2000了. Delphi也是不争气啊, ...

  10. 记录21.07.20 —— js语言回顾

    js语言回顾 1.语法 a并没有声明,也可以输出,不会报错. 添加一条语句 则需要声明,称之为严谨语法 2.数组 2.1数组遍历三种方法 for-in与for-of forEach forEach调用 ...