此文仅为笔记,代码来源自网络

网络技术文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript

1、使用||和&&简化语句,其中||:首先检查左边的值,如果能将该值转换为true,则返回左边的值,不执行右边代码,否则返回右边的值;&&:首先检查左边的值,如果能将该值转换为false,则返回左边的值,不执行右边代码;否则返回右边的值,例如:typeof cb == "function" && cb('a')

2、Object.defineProperty(obj, prop, descriptor)方法接收三个参数:需要添加或修改属性的对象,属性名称,属性描述options{configurable:false;enumerable:false;value:undefined;writable;get;set}。

3、use strict:严格模式

4、instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性,object instanceof constructor

5、声明:var:声明一个变量 const 声明创建一个只读的常量。常量不可以通过赋值改变其值,也不可以在脚本运行时重新声明。它必须被初始化为某个值。这不意味着常量指向的值不可变,而是变量标识符的值只能赋值一次,对象属性是不受保护的,let声明了一个块级域的局部变量,并且可以给它一个初始化值。

6、undefined 值在布尔类型环境中会被当作 false,在数值类环境中会被转换为 NaN
   null值在布尔类型环境中会被当作 false,在数值类环境中会被转换为0
 在涉及加法运算符(+)的数字和字符串表达式中,JavaScript 会把数字值转换为字符串。
 字符串转换为数字:使用
parseInt()parseFloat()或使用单目加法运算(+"1.1")  

7、变量的作用域:语句块中var声明的变量将成为语句块所在代码段的局部变量
  变量声明提升:你可以引用稍后声明的变量而不会引发异常;但是在使用或引用某个变量之后进行声明和初始化操作,这个被提升的引用仍将得到 undefined 值。

8、函数表达式:表达式定义的函数,称为匿名函数。匿名函数没有函数提升

9、在条件表达式中最好不要使用“=”来判断条件是否相等,如if(x=y)应该写为:if((x=y))

False等效值:false(是指布尔值,不是布尔对象),undefined,null,0,NaN,空字符串("")

10、标签语句:lable:statement,label 的值可以是js的任何非保留字标识符。 用label 标识的语句可以是任何语句。

11、闭包:当内部函数以某一种方式被任何一个外部函数作用域访问时,一个闭包就产生了,注意闭包中的this

12、this指什么完全取决于函数在何处被调用,而不是在何处被定义。

13、arguments对象:函数的实际参数会被保存在一个类似数组的arguments对象中,从0开始

14、解构:语法是一个能从数组或对象对应的数组结构或对象字面量里提取数据的 Javascript 表达式。

15、

js常用笔记的更多相关文章

  1. JS 学习笔记--9---变量-作用域-内存相关

    JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...

  2. WebGL three.js学习笔记 创建three.js代码的基本框架

    WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...

  3. JS学习笔记5_DOM

    1.DOM节点的常用属性(所有节点都支持) nodeType:元素1,属性2,文本3 nodeName:元素标签名的大写形式 nodeValue:元素节点为null,文本节点为文本内容,属性节点为属性 ...

  4. Node.js学习笔记(3):NPM简明教程

    Node.js学习笔记(3):NPM简明教程 NPM常用操作 更新NPM版本 npm install npm -g -g,表示全局安装.我们可以指定更新版本,只需要在后面填上@版本号即可,也可以输入@ ...

  5. Node.js学习笔记(2):基本模块

    Node.js学习笔记(2):基本模块 模块 引入模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在No ...

  6. Node.js学习笔记(4):Yarn简明教程

    Node.js学习笔记(4):Yarn简明教程. 引入Yarn NPM是常用的包管理工具,现在我们引入是新一代的包管理工具Yarn.其具有快速.安全.可靠的特点. 安装方式 使用npm工具安装yarn ...

  7. WebGL three.js学习笔记 加载外部模型以及Tween.js动画

    WebGL three.js学习笔记 加载外部模型以及Tween.js动画 本文的程序实现了加载外部stl格式的模型,以及学习了如何把加载的模型变为一个粒子系统,并使用Tween.js对该粒子系统进行 ...

  8. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  9. js常用工具类.

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

随机推荐

  1. linux操作Oracle导入导出dmp数据命令

    --清空该表数据 :非索引清空TRUNCATE TABLE  GE_INTERFACE_MESSAGE; --数据库导出 指定导出某个用户的所有数据 包括表 索引 序列 存储过程 函数 等exp CX ...

  2. MySQL源码 优化器

    完成了sql的解析过程后,开始进入优化器: 调用的流程分为:     mysql_select:           JOIN::prepare:           JOIN::optimize: ...

  3. bzoj3875

    悲伤地回忆,当初写了一个作死的算法爆零了为什么不好好写暴力呢……显然设w[i]表示彻底干掉这个怪物的代价注意发现这里的转移具有后效性,但是干掉每个怪物的最优值是一定的我们用spfa来转移,详见那篇sp ...

  4. bzoj1878

    像我这种蒟蒻这道题从在线算法思考基本毫无思路 但是发现题目中只涉及到询问而不涉及到修改,这类题目一般都是离线算法大概 考虑到这题为什么不能直接区间求值,因为区间中同色点会被重复计算(废话) 下面我们就 ...

  5. HDOJ/HDU 1180 诡异的楼梯(经典BFS-详解)

    Problem Description Hogwarts正式开学以后,Harry发现在Hogwarts里,某些楼梯并不是静止不动的,相反,他们每隔一分钟就变动一次方向. 比如下面的例子里,一开始楼梯在 ...

  6. 使用aespython进行ECB加解密示例

    CBC示例: from aespython import cbc_mode, key_expander, aes_cipher key = 'MluJMEZegVmrnWDaBiG1j7lqpkxNH ...

  7. usaco 奶牛集会 && 奶牛抗议

    奶牛集会 Description 约翰家的N头奶牛每年都会参加“哞哞大会” .哞哞大会是世界奶牛界的盛事.集会上 的活动很多,比如堆干草,跨栅栏,摸牛仔的屁股等等.当然,哞哞大叫肯定也包括在内. 奶牛 ...

  8. 使用.htaccess实现apache URL重定向

    一.什么是URL重定向? URL重定向(URL redirection,或称网址重定向或网域名称转址),是指当使用者浏览某个网址时,将他导向到另一个网址的技术. 二.URL重定向怎么配置? 1)首先需 ...

  9. PC-网络教程之宽带小型组网方案

    由于某些家庭或小型局域网用户的各种需求和设备不同,所以继续写出几个组网方案让大家参考参考.如有错误之处,欢迎大家多多指点. 1,用网桥实现增加接入点(比如你有5台机子要上网,而你的小型路由只有4个接口 ...

  10. KindEditor编辑器(初始化参数)

    width 编辑器的宽度,可以设置px或%,比textarea输入框样式表宽度优先度高. 数据类型: String 默认值: textarea输入框的宽度 示例: K.create('#id', {  ...