精通JS 笔记
一,javascript数据类型:undefined,null,boolean,number,string,object 五种加一种复杂类型. 注意大小写,区分大不写
函数:function
typeof 返回数据类型没有null,但有function.如typeof(null)返回object
1.1特还有:
typeof(NaN) typeof(infinity) => number
typeof(undefined) =>undefined
1.2逻辑:
undefined,null,"",0 => false 但只能 undefined==null true 其它返回 false
二,== && ====
==, 两边值类型不同的时候,要先进行类型转换,再比较。
===,不做类型转换,类型不同的一定不等。
"123"==123, "0123"==123 =>true; "0123"==0123 => false ;原因是0123当作8进制转换成10进制。。所以要注意这些细节
三,注意javascript是<script>段执行,function 预编译。这是什么意思,上例子
<script>
function a(){alert('1')};a()
function a(){alert('2')};a();
</script>
两条输出都是2。
<script>
function a(){alert('1')};a()
</script>
<script>
function a(){alert('2')};a();
</script>
输出分别是1,2。
四,
obj.call(要替换的执行环境,参数1, 参数2,……,参数n);
object.apply(要替换的执行环境,[参数1, 参数2,……,参数n ]);
var name = 'global';
var person = {
name: 'zero'
};
function printInfo(age, job) {
console.log(this.name, age, job);
}
// 直接调用
printInfo(20, 'test');
printInfo.call(person, 20, 'test');
printInfo.apply(person, [20, '前端工程师']);
printInfo.bind(person)(20, '前端工程师');
this,arguments,eval(),call(obj)把obj变成this,prototype
for(var s in afunction)
alert(s+ "is a" +typeof(afunction[s]));
arguments用法
function area () {if(arguments.length == 1) {
alert(3.14 * arguments[0] * arguments[0]);
} else if(arguments.length == 2) {
alert(arguments[0] * arguments[1]);
} else if(arguments.length == 3) {
alert(arguments[0] + arguments[1] + arguments[2]);
} else {
return null;
}
}
area(10,20,30);
精通JS 笔记的更多相关文章
- (转)精通 JS正则表达式
精通 JS正则表达式 (精通?标题党 ) 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 ...
- 精通JS正则表达式(转)
精通JS正则表达式,讲的比较详细,学习正则表达式的朋友可以参考下. 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡 ...
- Data Visualization and D3.js 笔记(1)
课程地址: https://classroom.udacity.com/courses/ud507 什么是数据可视化? 高效传达一个故事/概念,探索数据的pattern 通过颜色.尺寸.形式在视觉上表 ...
- js笔记-0
#js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...
- 精通D3.js笔记
DOM常用属性 innerHTML: 元素标签内部的文本. innerText outerHTML outerText nodeName: 节点名称 parentNode: 父节点 nextSibli ...
- PPK谈JS笔记第一弹
以下内容是读书笔记,再一次温习JS好书:PPK谈JS window.load=initializePageaddEventSimple('window','load',function(){}) lo ...
- 面向小白的JS笔记 - #Codecademy#学习笔记
前言 最初浏览过<JavaScript秘密花园>,前一段时间读过一点点<JavaScript语言精粹>和一点点<JavaScript高级程序设计>(一点点是指都只是 ...
- require.js笔记
笔记参考来源:阮一峰 http://www.ruanyifeng.com/blog/2012/10/javascript_module.html 1. 浏览器端的模块只能采用“异步加载”方式 = ...
- 【正则】精通JS正则表达式,没消化 信息量太大,好文
http://www.jb51.net/article/25313.htm 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用 ...
随机推荐
- Java开发中的一些小技巧
原文:http://www.cnblogs.com/xdp-gacl/p/3490276.html 一. Java获取URL地址中传递的参数 /** * 获取URL中的参数名和参数值的Map集合 * ...
- easyui 删除数据表格
1 最直接的方法: 返回的数据格式 Object rows:Array[3] 0:Object 1:Object 2:Object length:3 __proto__:A ...
- java中的堆内存和栈内存
Java把内存分成两种: 一种叫做栈内存 一种叫做堆内存 栈内存 : 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配.当在一段代码块中定义一个变量时,java就在栈中为这个变 ...
- Windows定时器
目录 第1章定时器 1 1.1 创建定时器 1 1.2 销毁定时器 1 1.3 定时器的运作 1 1.3.1 产生WM_TIMER消息 1 1.3.2 分发WM_TIME ...
- bootstrap--input框选择日期
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- css3开门
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- VBA控件一些属性的解释
VBA每个控件都有很多属性,虽然可以按照分类排序,但由于没有中文解释,有些属性也不了解如何使用,下面是一些控件属性的解释,不全,可供参考: 常规AutoLoad (Excel)打开工作簿时是否加载控件 ...
- [redis] Jedis 与 ShardedJedis 设计
Jedis设计 Jedis作为推荐的java语言redis客户端,其抽象封装为三部分: 对象池设计:Pool,JedisPool,GenericObjectPool,BasePoolableObjec ...
- NCrawler 学习
NCrawler是一款国外的开源网络爬虫软件,遵循LGPL许可协议.其HTML处理使用的是htmlagilitypack开源库,采用xpath的方式处理定位网页元素,十分方便.同时其采用HttpWeb ...
- C# winform程序怎么打包成安装项目(图解)
1:新建安装部署项目 打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图) 此主题相关图片如下: 2:安装向导 关闭后打开安 ...