JSCHEATSHEET
更多来源:https://developer.mozilla.org/id/docs/web/javascript/a_re-introduction_to_javascript
数据类型
编号:( 15位数字)
- 没有小数的数字:10,123456,3000
- 十进制数字:3.14、0.5、100.00
- 指数:123E5 // 12300000,123E-5 // 0.00123
- 负数:-0.134,-2,-100.00
- 八进制号(基数8)
- 十六进制数字(基础16)
- 特殊数字: - 恩,南
操作员
- Unary(需要1个操作数)a。 typeof号码,字符串,布尔值
- 二进制(需要2个操作数)a。算术: +, - ,_, /,%(模量)优先操作员:kurung,kali,divide,add,sill,更少。 b。分配:=, +=, - =,_ =, /=,%= c。比较(比较):==,! =,===,! ==,>,> =,<,<,<=D。逻辑:&&,||,! e。字符串:暨 +
- 三元(需要3个操作数)a。有条件(条件)?是:错误(x%2 == 0)? “偶”:“奇数”
字符串逃脱字符
- 0 = null
- '='
- “ =”
- =
- n =新线
- t = tab
- b Backpace
- uxxxx = unicode
多变的
声明:将变量注册到适当的范围中。
初始化:为变量提供内存。
分配:将特定值确定为变量。
可变要求:
- 没有空间。
- 骆驼。
- 不是从数字开始。
- 请勿使用关键字和保留单词。
- 可变范围:本地和全局。
var,&&const
重构:将代码更改为更好而不更改其功能的过程。
Alasan:
- Readability
- DRY, dont repeat yourself
- Testability
- Performance
- Maintainability
控制流
重复(循环)
而a。 while(条件){action}; b。 wirs的初始值(终止条件){action;增量/减少; }
对于(初始值;终止条件;增量/减少){action; }
对于(字符串,数组,参数,打字车,映射,set,用户定义的迭代))const name ='rama';对于(名称的const n){console.log(n); }
对于(从对象枚举 /属性)const MHS = {name:'rama',年龄:29,电子邮件:'[email protected]',},}; for(m在MHS中){console.log(mhs [m]); }
做一段时间
选择(选择)
- 如果(条件){行动1; } else {动作2; }
- 否则如果(条件1){行动1; } else if(条件2){行动2; } else if(条件n){action n; } else {默认操作; }
- 开关开关(表达式){情况“值1”:操作1; [break;]案例“值2”:操作2; [break;]案例“ value n”:动作n; [break;]默认:默认操作[break;]}
功能
范围
- 全局 /窗口范围让A = 1; console.log(a);
- 函数范围函数测试(){让B = 2; } 测试 (); console.log(b);
- 块范围函数测试(){让C = 3; console.log(c); } 测试 ();
递归:称自己的功能。
执行:
- 更换循环
- 斐波那契系列
- 搜索和搜索数据列表列表和树示例:阶段函数(n){if(n === 0)返回1;返回n *阶乘(n -1); }
数据结构
语境
- 全局范围var name中的创建阶段=未定义的名称函数= fn(),这是其函数本身。
- 执行阶段函数使本地执行上下文
关闭
- 是功能和词汇范围的组合。
- 即使已经完成了父范围,它也可以访问父范围。示例:函数名称功能(param1){返回namalocalfunction(param2){function hody}}声明名称variable = namafunction(gright1); namevariable(gright2);
箭头功能
- 另一种比函数表达更简洁的形式。示例:声明标识符=(parameterList opt)=> {function body}示例:让数字=(param1,param2)=> {function body}; //隐式返回
- 在箭头功能箭头函数中,这不能应用于此。示例:声明nameBject = function(param1){this.prperty1 = string; this.property2 =()=> {function body}; }声明名称variable = new nameBject();
高阶功能
在其他函数中运行的功能(在参数 /返回值中)。 JavaScript将功能视为对象。为什么:抽象,这是为了简化程序,因为程序越大,复杂性越高,程序员就越混乱。
- array.pototype.map()
- array.potype.filter()
- array.potype.reduce()
字面模板
是一个允许其中表达式的字符串。可以使用:''; “”和 ;
有回头( )可以:
- 单线线字符串:
string text - 多行字符串:
string text 1 string text 2 string text 3 - 嵌入式表达式:
string text ${expression} string text - HTML碎片
- 表达插值
- 标记模板:
- 逃脱 /消毒HTML标签
- 翻译与国际化(I18N)
- 样式的组件
破坏作业
在JS上的表达,这使我们能够将Array /属性博士博士对象的价值拆除为单独的变量。
- 阵列const try = ['一个','两个','三']; const [a,b,c] = try;
- 对象const MHS = {名称:'斋月',年龄:25,电子邮件:'[email protected]',}; const {name,age,email} = mhs;
- 功能
传播操作员
将迭代分解为单个元素的操作员。
休息参数
用无限的jumalh将函数中的参数表示为数组。
同步与异步
- 单线程与多线程环境执行任务
- 阻止与非阻滞Ngoding技术(与输入输出相关)
- 同步与异步Ngoding工程(与HTTP请求有关)
- 并发与并行环境执行任务任务(Instra,硬件和虚拟化相关)
打回来
该函数在另一个函数中以参数发送。
示例:函数名称功能(namacallback){name valis的声明= value;回调(名称); } nameFunction(((nameVar)=> {console.log(execution);});
承诺
代表将来异步事件成功 /失败的对象。承诺(满足 /拒绝 /待处理)。使用回调=> action(resolve => then / recond => catch / perdend =>最后)。
示例:名称声明var1 = value; const nameVar2 = new Promise((resolve,refform)=> {if(namevar1){resolve(value);} else {refork(value(value);}}); namesVar2 .that((wendmens)=> console.log(execution)).catch(((wendmess)=> console.log(execution));
Ajax&Fetch
Fetch是一种API JS的方法,可以从网络中获取资源并在有可用响应时返回完整的承诺(满足)。符号:获取(资源,初始化);
- 资源:URL /请求对象(源请求的表示)。
- init:对象请求中的其他配置(示例:获取,发布,方法,标题,缓存等)
- 响应:以承诺的形式(属性和方法)的Fetch博士的结果。
异步和等待
- 一个可行的函数(通过事件循环),
- 产生(隐性)的承诺作为回报值,
- 但是使用同步写作(标准)编写代码的方式。
异步函数可以在其中具有等待关键字,以便在等待承诺完成(解决)时暂时停止其函数的执行。
DOM(文档对象模型):文档中HTML元素的表示形式成为对象。存储到DOM树中。
DOM福利:
作为代表Web文档的基于对象的编程接口。
DOM使网页的所有组件都可以访问和操纵。
组件:HTML元素,属性,文本等。
DOM树
- Nodelist:包含任何节点的集合。
- HTMLCollection:包含HTML元素并实时的集合。
等级制度:
- 根节点(文档):是DOM中所有其他节点的来源的节点。
- 父节点:在另一个节点上方一个级别的节点。例如:身体是父母H1博士,P,Div&A。
- 子节点:一个级别以下一个节点的节点。例如:H1是孩子博士。
节点类型/节点:
- 元素
- 属性
- 文本
- CDATA部分
- 实体参考
- 实体
- 处理指令
- 评论
- 文档
- 文档类型
- 文档片段
- 符号
DOM选择
- 喜欢在HTML中使用元素:
- getrementById()=产生元素。
- getElementsByTagName()=生产HTMLCollection。
- getElementsByClassName()=产生HTMLCollection。
- 就像在CSS上戴选择器一样:
- querysector()=产生元素。
- querySectorAll()=产生结节性。
DOM操纵
- 元素操纵
- element.innerhtml =更改所选元素的内容。
- 元素。 =更改所选元素的样式。
- element.getAttribute()=知道属性的内容。
- element.setTtribute()=添加属性。
- element.removeatTribute()=删除属性。
- element.ClassList:
- add()=添加类。
- remove()=删除类。
- toggle()=添加类(如果没有),请删除。
- item()=用索引检查类。
- contains()=检查所讨论的类。
- 替换()=更改类。
- 节点操纵
- document.createelement()
- document.createTextNode()
- node.ppendchild()
- node.Intertbefore()
- parentnode.removechild()
- parentnode.replacechild()
DOM事件
- 事件处理程序=只能运行最后一个命令。
- 内联HTML属性
- 元素方法开启
- AddVentListener()=可以运行多次。
DOM遍历
- parentnode =结果节点。
- parentEllement =元素的结果。
- sextsibling =结果节点。
- NextElementsibling =元素的结果。
- adcefibling =节点结果。
- 先前的elementsibling =元素的结果。
默认防止
- 为防止默认操作,请使用方法:event.preventdefault();
冒泡事件
- 事件运行后,它将在孩子之前在父母中运行事件。使用event.stoppropagate();