早已接触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 学习笔记---基本概念的更多相关文章

  1. js学习笔记14----DOM概念及子节点类型

    1.概念 DOM:Document Object Model---文档对象模型 文档:html页面 文档对象:页面中的元素 文档对象模型:是一种定义,为了能够让程序(js)去操作页面中的元素. DOM ...

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

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

  3. jQuery学习笔记之概念(1)

    jQuery学习笔记之概念(1) ----------------------学习目录-------------------- 1.概念 2.特点 3.选择器 4.DOM操作 5.事件 6.jQuer ...

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

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

  5. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  6. Oracle RAC学习笔记:基本概念及入门

    Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章]    oracle 10g real applica ...

  7. Java IO学习笔记:概念与原理

    Java IO学习笔记:概念与原理   一.概念   Java中对文件的操作是以流的方式进行的.流是Java内存中的一组有序数据序列.Java将数据从源(文件.内存.键盘.网络)读入到内存 中,形成了 ...

  8. WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)

    WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...

  9. WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法

    WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...

随机推荐

  1. JAVA和C语言的区别

    java语言和c语言的区别:                                      1 un 公司推出的Java 是面向对象程序设计语言,其适用于Internet 应用的开发,称为 ...

  2. Android: MediaRecorder start failed

    在某些机型上,MediaRecorder在调用start方法时,会出现start failed的错误,有一种可能是setVideoFrameRate导致的.要解决这个问题,只需要注释掉这条语句就可以了 ...

  3. 利用Clojure统计代码文件数量和代码行数

    ;; 引入clojure的io包 (use '[clojure.java.io]) ;; 遍历目录将所有符合要求的文件做为列表返回 (defn walk [dirpath pattern] (doal ...

  4. java(JSP)中几种获取项目路径方式

    在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getPro ...

  5. 小贝_mysql sql语句优化过程

    sql语句优化 一.SQL优化的一般步骤 (1).通过show status命令了解各种SQL的运行频率. (2).定位运行效率较低的SQL语句-(重点select) (3).通过explain分析低 ...

  6. MapReduce02

    ====================== MapReduce实现 ====================== Input: 一系列key/value对 用户提供两个函数实现: map(k,v) ...

  7. YTU 2795: 编程题AB-侦察员的密码

    2795: 编程题AB-侦察员的密码 时间限制: 1 Sec  内存限制: 128 MB 提交: 155  解决: 43 题目描述 侦察员小甲在被捕前在墙上写了两行文字(ASCII字符),其中包含了他 ...

  8. bzoj 4003 [JLOI2015]城池攻占 —— 左偏树

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4003 其实蛮简单的,首先一个城市只会被其子树中的骑士经过,启发我们 dfs 序用可并堆合并子 ...

  9. POJ2985 The k-th Largest Group treap

    POJ2985 比较简单的平衡树题目 树内不要添加容量为1的节点 否则会超时. #include<iostream> #include<cstdio> #include< ...

  10. http协议的MP4文件播放问题的分析

    现在手上有两个链接 (1) http://202.108.16.173/cctv/video/8C/35/EB/E8/8C35EBE84E7B483C8741CF9A60154993/gphone/4 ...