js 学习笔记---基本概念
早已接触javascript多年之后,竟然还有这些概念混淆不清,毫不知情,说出来真实无地自容 !
1、使用严格模式,“use strict”,虽然不适用,但是要知道,以免别人使用时,碰到后摸不着头脑!
2、js只有五中基本类型和一种复杂类型,Undefined,String,Number,Boolean,Null 和Object。typeof 返回的都是小写类型,e.g: j null == 'object'
3、var 声明变量未初始化时,变量就是undefined。 null 是一个指向空对象的指针。所以,typeof null = 'object'. 但是undefined派生自null。 null==undefined 是true
5、Object是所有对象的基础,每个对象都具有下列属性和方法:constructor,hasOwnProperty(propertyName)-是否存在某属性,isPrototypeOf(object)-检查传入的对象是否是对象的原型,propertyIsEnumerable(propertyName)-用于检查给定的属性是否能够使用for-in来枚举,toLocaleString(),toString(),valueOf()等。
6、理解参数问题:函数的参数是通过一个参数数组来接收参数的arguments。函数的定义和调用的时候,参数没什么关系,如果定义时写了参数就是可以显示的使用参数。否则,通过arguments[0],arguments[1]等依然可以实现相同的效果。调用时参数传递不够的,后面的自动赋值为undefined。如果多传递的可以通过下标访问arguments获得。还有重要的一点就是:arguments的值始终与对应命名参数的值保持同步,即可以通过改变arguments里的值,修改传递进来的参数值。
测试代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head> <body>
<script type="text/javascript" language="javascript">
var testUndefined;
alert(testUndefined);
alert(testUndefined == null);
alert(typeof null);
alert(typeof undefined);
var obj = {};
obj.name = 'wch';
obj.pwd =132;
alert(obj.hasOwnProperty('name')+":"+obj.hasOwnProperty('id'));
alert(obj.toString()+" : "+obj.valueOf()+' : '+obj.toLocaleString());
alert(obj.propertyIsEnumerable('name')+' : '+obj.propertyIsEnumerable('pwd'));
function sum(){
var sum = 0;
for(var i=0; i< arguments.length; i++){
if(i==3){
arguments[3] = 10;
}
sum+=arguments[i];
}
return sum;
}
alert(sum(1,2,3)+' : '+sum(10,20,30,60));
</script>
</body>
</html>
js 学习笔记---基本概念的更多相关文章
- js学习笔记14----DOM概念及子节点类型
1.概念 DOM:Document Object Model---文档对象模型 文档:html页面 文档对象:页面中的元素 文档对象模型:是一种定义,为了能够让程序(js)去操作页面中的元素. DOM ...
- JS 学习笔记--9---变量-作用域-内存相关
JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...
- jQuery学习笔记之概念(1)
jQuery学习笔记之概念(1) ----------------------学习目录-------------------- 1.概念 2.特点 3.选择器 4.DOM操作 5.事件 6.jQuer ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- Oracle RAC学习笔记:基本概念及入门
Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章] oracle 10g real applica ...
- Java IO学习笔记:概念与原理
Java IO学习笔记:概念与原理 一.概念 Java中对文件的操作是以流的方式进行的.流是Java内存中的一组有序数据序列.Java将数据从源(文件.内存.键盘.网络)读入到内存 中,形成了 ...
- WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)
WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...
- WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法
WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...
随机推荐
- JAVA和C语言的区别
java语言和c语言的区别: 1 un 公司推出的Java 是面向对象程序设计语言,其适用于Internet 应用的开发,称为 ...
- Android: MediaRecorder start failed
在某些机型上,MediaRecorder在调用start方法时,会出现start failed的错误,有一种可能是setVideoFrameRate导致的.要解决这个问题,只需要注释掉这条语句就可以了 ...
- 利用Clojure统计代码文件数量和代码行数
;; 引入clojure的io包 (use '[clojure.java.io]) ;; 遍历目录将所有符合要求的文件做为列表返回 (defn walk [dirpath pattern] (doal ...
- java(JSP)中几种获取项目路径方式
在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getPro ...
- 小贝_mysql sql语句优化过程
sql语句优化 一.SQL优化的一般步骤 (1).通过show status命令了解各种SQL的运行频率. (2).定位运行效率较低的SQL语句-(重点select) (3).通过explain分析低 ...
- MapReduce02
====================== MapReduce实现 ====================== Input: 一系列key/value对 用户提供两个函数实现: map(k,v) ...
- YTU 2795: 编程题AB-侦察员的密码
2795: 编程题AB-侦察员的密码 时间限制: 1 Sec 内存限制: 128 MB 提交: 155 解决: 43 题目描述 侦察员小甲在被捕前在墙上写了两行文字(ASCII字符),其中包含了他 ...
- bzoj 4003 [JLOI2015]城池攻占 —— 左偏树
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4003 其实蛮简单的,首先一个城市只会被其子树中的骑士经过,启发我们 dfs 序用可并堆合并子 ...
- POJ2985 The k-th Largest Group treap
POJ2985 比较简单的平衡树题目 树内不要添加容量为1的节点 否则会超时. #include<iostream> #include<cstdio> #include< ...
- http协议的MP4文件播放问题的分析
现在手上有两个链接 (1) http://202.108.16.173/cctv/video/8C/35/EB/E8/8C35EBE84E7B483C8741CF9A60154993/gphone/4 ...