js由浅入深理解
隐式转换 + -
num - 0 把num转换成number;
num + "" 把num转换成字符串;
-------------------------------------------------------------------------
常见的:null == undefined;NAN不等于NAN;===指的是值和类型相等;(严格判断);
-------------------------------------------------------------------------
函数申明:function aa(){}
函数表达式:
1...var aa = function(){}
2...(function(){ })()
3...return funtion(){}
4....var aa = function xx(a,b){}
遍历:for(item in obj){
//顺序不确定
//enumerable为false时不会出现
//for in对象属性时受原型链影响
}
-------------------------------------------------------------------------
创建对象:字面量的形式、Object.create();
对象的get/set方法
var obj = {
name:"bob",
sex:"man"
get age(){
return new Date.getFullYear() - 1993;
},
set age(val){
console.log("年龄未被设置" + val)
}
}
console.log(obj.age) //输出25
obj.age = 30;//提示没有被设置
console.log(obj.age) //仍然输出25
-------------------------------------------------------------------------
function aa(x,y,z){
arguments.length; //
arguments[0];//
arguments[0] = 10 ; //绑定关系
x;//
arguments[2] = 20 ; //没传参数,失去绑定关系
z; //still undefined
}
aa(1,2);
aa.length; //
aa.name; //"aa"
-------------------------------------------------------------------------
函数传参:
参数类型:基本类型和引用类型(数字、数组、字符串、函数等)
参数类型判断:typeof()单个参数可以省略括号。
function fn1(){
console.log("let go")
} function fn2(v){
if(typeof v === "function"){
v()
}
}
fn2(fn1()) 数组:通俗理解就是变量的有序集合
arr = [];
arr = new Array();两种方式是等效的创建数组; 数组支持嵌套 如:arr = [数值,{对象},[数组],fn]
多维数组如:arr = [[1,2,3],[4,5,6],[7,8,9]]
function test(){ }
test(); ---->A0{}
test(); ---->AO{}函数执行完毕即时清除AO。(AO代表上下文对象)
js里面空格也是合法的字符串
str.length;
性能for循环的性能问题:不要直接去操控长度。
原始:
for(var i=0;i<res.length;i++){
alert(i) ----->//弹出res.length
}
修改性能后:
var res = res.length;
for(var i=0;i<res;i++){
alert(i) ----->//弹出res
}
js由浅入深理解的更多相关文章
- 【由浅入深理解java集合】(四)——集合 Queue
今天我们来介绍下集合Queue中的几个重要的实现类.关于集合Queue中的内容就比较少了.主要是针对队列这种数据结构的使用来介绍Queue中的实现类. Queue用于模拟队列这种数据结构,队列通常是指 ...
- 【由浅入深理解java集合】(五)——集合 Map
前面已经介绍完了Collection接口下的集合实现类,今天我们来介绍Map接口下的两个重要的集合实现类HashMap,TreeMap.关于Map的一些通用介绍,可以参考第一篇文章.由于Map与Lis ...
- 【由浅入深理解java集合】(三)——集合 List
第一篇文章中介绍了List集合的一些通用知识.本篇文章将集中介绍List集合相比Collection接口增加的一些重要功能以及List集合的两个重要子类ArrayList及LinkedList. 一. ...
- 【由浅入深理解java集合】(二)——集合 Set
上一篇文章介绍了Set集合的通用知识.Set集合中包含了三个比较重要的实现类:HashSet.TreeSet和EnumSet.本篇文章将重点介绍这三个类. 一.HashSet类 HashSet简介 H ...
- 【由浅入深理解java集合】(一)——集合框架 Collction、Map
本篇文章主要对java集合的框架进行介绍,使大家对java集合的整体框架有个了解.具体介绍了Collection接口,Map接口以及Collection接口的三个子接口Set,List,Queue. ...
- vue自定义指令(Directive中的clickoutside.js)的理解
阅读目录 vue自定义指令clickoutside.js的理解 回到顶部 vue自定义指令clickoutside.js的理解 vue自定义指令请看如下博客: vue自定义指令 一般在需要 DOM 操 ...
- [搜狐科技]由浅入深理解Raft协议
由浅入深理解Raft协议 2017-10-16 12:12操作系统/设计 0 - Raft协议和Paxos的因缘 读过Raft论文<In Search of an Understandable ...
- js面向对象理解
js面向对象理解 ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP).面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是, ...
- JS之理解继承
JS之理解继承:https://segmentfault.com/a/1190000010468293 1.call继承,也叫借用构造函数.伪造对象或是经典继承.call继承回把父类的私有属性和方法继 ...
随机推荐
- Tomcat 系统架构与设计模式之一
Tomcat 系统架构与设计模式,第 1 部分: 工作原理 来自:http://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/index.html 这 ...
- [SDOI 2008] 洞穴勘测
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2049 [算法] LCT动态维护森林连通性 时间复杂度 : O(NlogN ^ 2) ...
- 奶牛排序——RMQ
[问题描述]奶牛在熊大妈的带领下排成了一条直队.显然,不同的奶牛身高不一定相同……现在,奶牛们想知道,如果找出一些连续的奶牛,要求最左边的奶牛 A 是最矮的,最右边的 B 是最高的,且 B 高于 A ...
- ES6之拷贝对象
function copyObject(orig) { var copy = Object.create(Object.getPrototypeOf(orig)); //创建一个新的原型对象 copy ...
- Spring Data JPA 和MyBatis比较
现在Dao持久层的解决方案中,大部分是采用Spring Data JPA或MyBatis解决方案,并且传统企业多用前者,互联网企业多用后者. Spring Data JPA 是Spring Data ...
- JAVA线程同步 (三)信号量
一个信号量有且仅有3种操作,且它们全部是原子的:初始化.增加和减少 增加可以为一个进程解除阻塞: 减少可以让一个进程进入阻塞. 信号量维护一个许可集,若有必要,会在获得许可之前阻塞每一个线程: ...
- CClientDC类 CWindowDC类
CClientDC类 CClientDC类也是CDC类的派生类.它只能在窗口的客户区(即窗口中除了边框.标题栏.菜单栏以及状态栏外的中间部分)中进行绘图,坐标点(0,0)通常指的是客户区的左上角.它的 ...
- centos7用lvm扩展xfs文件系统的根分区
centos7中默认使用的是xfs文件系统,此文件系统的特点,可以另外查找资料,这里说一下对文件系统的扩容: 1.先看一下没扩容之前的分区大小 2.添加一块新磁盘,并进行分区.格式化(格式化的时候用m ...
- android:ellipsize省略文字用法(转载)
转自:http://zhangkun716717-126-com.iteye.com/blog/864989 TextView及其子类,当字符内容太长显示不下时可以省略号代替未显示的字符:省略号可以在 ...
- 51nod 1276 【离线化】
思路1.: 离线处理: 具体就是把岛屿离线然后按照高度排序,把query按照从高到低排序,然后每次query只要从最高的岛屿开始找起,判断条件:如果他旁边都是没有被找过的(也就是默认是海),那么数量+ ...