(二)js基础。。。freecodecamp笔记
个人需要注意的点
当 JavaScript 中的变量被声明的时候,程序内部会给它一个初始值
undefined
。当你对一个值为undefined
的变量进行运算操作的时候,算出来的结果将会是NaN
,NaN
的意思是"Not a Number"。当你用一个值是undefined
的变量来做字符串拼接操作的时候,它会输出字符串"undefined"
。(变量默认初始值undfined,运算操作结果是NAN,字符串拼接结果是undfined)变量名称最佳实践驼峰命名法使用驼峰命名法来书写一个 Javascript 变量,在驼峰命名法中,变量名的第一个单词的首写字母小写,后面的单词的第一个字母大写。
特殊字符转义在 JavaScript 中,你可以通过在引号前面使用反斜杠(
\
)来转义引号。单引号和双引号的功能在 JavaScript 中是相同的。
\'
单引号 \"
双引号 \\
反斜杠 \n
换行符 \r
回车符 \t
制表符 \b
退格 \f
换页符 在 JavaScript 中,
字符串
的值是 不可变的,myStr[0]="A"并不会使得myStr的第一个值变为A.js数组常用方法.push()存入一个数据,.pop()移出最后一个数据,.shift()移出第一个数据,.unshift()移入一个数据到头部
在函数没有
return
语句的情况下,当你调用它时,该函数会执行内部代码,返回的值是undefined
。严格相等运算符(
===
)是相对相等操作符(==
)的另一种比较操作符。与相等操作符不同的是,它会同时比较元素的值和数据类型
。3===‘3’ false, 3==‘3’ true严格不相等运算符(
!==
)与全等运算符是相反的。严格相等运算符不会转换值的数据类型。3!==‘3’ true 3!=‘3’ false创建一个对象,两种取值方式
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
Math.random()
用来生成一个在0
(包括 0)到1
不包括 1)之间的随机小数,因此Math.random()
可能返回 0 但绝不会返回 1。生成随机整数,
Math.floor
向下取整,结果为0-19Math.floor(Math.random() * 20);
生成某个范围的随机整数Math.floor(Math.random() * (max - min + 1)) + min
parseInt()
函数解析一个字符串返回一个整数var a = parseInt("11", 2);
参数 2 表示 “11” 使用二进制数值系统。此示例将字符串 “11” 转换为整数 3。
嵌套三元运算符
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笔记的更多相关文章
- JS基础知识笔记
2020-04-15 JS基础知识笔记 // new Boolean()传入的值与if判断一样 var test=new Boolean(); console.log(test); // false ...
- handlebars.js基础学习笔记
最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...
- 两万字Vue.js基础学习笔记(二)
Vue.js学习笔记(二) 4.模块化开发 ES6模块化的导入和导出 我们使用export指令导出了模块对外提供的接口,下面我们就可以通过import命令来加载对应的这个模块了 首先,我们需要在HTM ...
- js基础学习笔记(二)
2.1 输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用“”括起,直接输出&q ...
- 两万字Vue.js基础学习笔记
Vue.js学习笔记 目录 Vue.js学习笔记 ES6语法 1.不一样的变量声明:const和let 2.模板字符串 3.箭头函数(Arrow Functions) 4. 函数的参数默认值 5.Sp ...
- Javascript进阶篇——(JS基础语法)笔记整理
根据慕课网学习整理到一起的笔记,把东西整理到一起看起来比较方便 什么是变量字面意思:变量是可变的量:编程角度:变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品可 ...
- node.js 基础学习笔记3 -express
1.工作原理 当通过app.js建立的服务器时,会看到一个简单的页面.返回页面时,浏览器会向服务器发送请求.app会解析请求的路径,调用相应的逻辑,调用对应的视图模板,传递对象数值,最终生成HTML页 ...
- javascript-智能社-JS基础A笔记
JavaScript基础A JavaScript组成 ECMA : 全称ECMAScript,解释器.计算机语言的翻译 DOM:全称Document Object Model,赋予了JS操作HTML的 ...
- js 基础学习笔记(一)
javascript基础 .组成部分:由 ECMAScript(翻译,核心,解释器).DOM(操作HTML的能力).BOM(浏览器window)三部分组成. 兼容性依次为 [1.几乎没有兼容性问题.2 ...
- node.js 基础学习笔记3 -http
http模块,其中封装了一个高效的HTTP服务器和一个建议的HTTP客户端 http.server是一个基于事件的HTTP服务器 http.request则是一个HTTP客户端工具,用户向服务器发送请 ...
随机推荐
- Python语言的技术领域
第一部分:各个领域应用的语言 大家看这个内容,其实你很明显发现,其实各个语言都有他的用处.我们可以说Python是应用最广的.但是暂时还是不能说它是全能的,因为他也有它的短板,但是对于一般的小公司和小 ...
- 【论文阅读】DSDNet Deep Structured self-Driving Network
前言引用 [2] DSDNet Deep Structured self-Driving Network Wenyuan Zeng, Shenlong Wang, Renjie Liao, Yun C ...
- 备战- Java虚拟机
备战- Java虚拟机 试问岭南应不好,却道,此心安处是吾乡. 简介:备战- Java虚拟机 一.运行时数据区域 程序计算器.Java 虚拟机栈.本地方法栈.堆.方法区 在Java 运行环境参考链接: ...
- Android系统编程入门系列之界面Activity响应丝滑的传统动画
上篇文章介绍了应用程序内对用户操作响应的相关方法位置,简单的响应逻辑可以是从一个界面Activity跳转到另一个界面Activity,也可以是某些视图View的相对变化.然而不管是启动一个界面执行新界 ...
- 微信小程序创建第一个项目
一.打开微信开发者工具,扫码登录 二.点击右侧的加号,添加小程序 第三步:创建成功后,报错 VM82:1 cloud init error: Error: invalid scope 没有权限,请先开 ...
- Python基础之实现界面和代码分离
第一步:用QT Designer画一个TreeWidget,存为treeview4.ui,这个处理前面TreeWidget那一节讲过,这里不细讲 treeview4.py # -*- coding: ...
- python errno库与socket.connect_ex()方法的结合使用
前言:一般socket链接会首选connect方法,该方法会一直尝试链接.那么今天展示下connect_ex()方法,该方法如果链接成功会返回0,失败会返回errno库中的errorcode中的key ...
- 自制车速记录仪「GitHub 热点速览 v.21.31」
作者:HelloGitHub-小鱼干 如果你有一辆普通的自行车,那么就可以使用下 X-TRACK 这个项目制作一个自己的测速器,记录你的行驶轨迹还有车速,体验一把硬件发烧友的乐趣.如果你有一个非 ma ...
- Qt学习-ListView的拖拽
最近在学习Qt 里面的QML, 使用DropArea和MouseArea实现了ListView的拖拽. 想起了当年用Delphi, 差不多一样的东西, 不过那是2000了. Delphi也是不争气啊, ...
- 记录21.07.20 —— js语言回顾
js语言回顾 1.语法 a并没有声明,也可以输出,不会报错. 添加一条语句 则需要声明,称之为严谨语法 2.数组 2.1数组遍历三种方法 for-in与for-of forEach forEach调用 ...