js常用笔记
此文仅为笔记,代码来源自网络
网络技术文档: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常用笔记的更多相关文章
- JS 学习笔记--9---变量-作用域-内存相关
JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...
- WebGL three.js学习笔记 创建three.js代码的基本框架
WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...
- JS学习笔记5_DOM
1.DOM节点的常用属性(所有节点都支持) nodeType:元素1,属性2,文本3 nodeName:元素标签名的大写形式 nodeValue:元素节点为null,文本节点为文本内容,属性节点为属性 ...
- Node.js学习笔记(3):NPM简明教程
Node.js学习笔记(3):NPM简明教程 NPM常用操作 更新NPM版本 npm install npm -g -g,表示全局安装.我们可以指定更新版本,只需要在后面填上@版本号即可,也可以输入@ ...
- Node.js学习笔记(2):基本模块
Node.js学习笔记(2):基本模块 模块 引入模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在No ...
- Node.js学习笔记(4):Yarn简明教程
Node.js学习笔记(4):Yarn简明教程. 引入Yarn NPM是常用的包管理工具,现在我们引入是新一代的包管理工具Yarn.其具有快速.安全.可靠的特点. 安装方式 使用npm工具安装yarn ...
- WebGL three.js学习笔记 加载外部模型以及Tween.js动画
WebGL three.js学习笔记 加载外部模型以及Tween.js动画 本文的程序实现了加载外部stl格式的模型,以及学习了如何把加载的模型变为一个粒子系统,并使用Tween.js对该粒子系统进行 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
随机推荐
- 【Xamarin开发 Android 系列 4】 Android 基础知识
原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android? Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Li ...
- linux字符图形界面
/etc/inittab 1) 字符界面标识: id:3:initdefault: 2) 图形界面标识: id:5:initdefault: [root@ora9i ~]# vi /etc/i ...
- C# web 网页刷新时数据集的保存和应用
Web 数据访问策略建议 设计 Web 应用程序中的数据访问时,您要做出多种选择,例如与数据源通信的方式.是否在页的往返过程之间存储数据.以及如果确实要存储数据应存储在何处等.您所做的选择可以确定应用 ...
- 【转】win7 虚拟机virtualbox中ubuntu12.04安装samba实现文件共享
原文网址:http://blog.csdn.net/watkinsong/article/details/8878786 昨天心血来潮,又装了个虚拟机,然后安装了ubuntu12.04,为了实现在虚拟 ...
- route命令详解与使用实例
1. 使用背景 需要接入两个网络,一个是部署环境所在内网环境,这个环境是上不了外网, 外网环境很可能是一个无线网络.如果两者都连接上,很可能导致有一方不能起作用,即外网或内网上不了,常常需要使用繁 ...
- C# Protect the Password inside a TextBox ZZ
If the Text property is called, it will send an WM_GETTEXT message, so it will surely be an internal ...
- selenium webdriver 环境搭建--java
selenium java环境的安装可以分为三个部分:jdk.eclipse和selenium. jdk jdk(java development kit)是sun公司针对java开发人员的产品,是整 ...
- Bzoj 1976: [BeiJing2010组队]能量魔方 Cube 最小割,最大流
1976: [BeiJing2010组队]能量魔方 Cube Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 879 Solved: 304[Submi ...
- [Unix.C]Files and Directories
stat, fstat, and lstat Functions 本部分讨论的内容主要围绕3个stat函数及其返回值. #include <sys/stat.h> int stat(co ...
- ACM2031_进制转换(使用了递归,代码超少的啦!!)
进制转换 Problem Description 输入一个十进制数N,将它转换成R进制数输出. Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R& ...