资讯专栏INFORMATION COLUMN

几个知识点

dendoink / 794人阅读

摘要:操作符变量或对象名或函数名或返回的值操作符变量对象名对象类型返回的值或如果是该类型则返回如果不是该类型则返回已声明但尚未初始化的变量的值默认为尚未声明的变量只能进行一种操作就是用操作符查看类型虽然会返回但是该变量并没有值也就是值并不是派生于

1. typeof instanceof

typeof 操作符, typeof 变量或对象名或函数名或null. 返回的值: string number boolean undefined function object

instanceof操作符, 变量(对象名) instanceof 对象类型. 返回的值: truefalse. 如果是该类型则返回 true, 如果不是该类型, 则返回 false.

2. Undefined

已声明但尚未初始化的变量的值默认为 undefined.

尚未声明的变量只能进行一种操作, 就是用 typeof 操作符查看类型, 虽然会返回 undefined, 但是该变量并没有值, 也就是值并不是 undefined.

undefined 派生于 null, 所以对于相等性测试: alert(undefined == null), 返回 true.

3. Null

null 是一个空对象指针.

undefinednull 的区别在于: null 是一个空对象指针, 而 undefined 是已声明但尚未初始化的变量.

4. 基本类型和引用类型 4.1 复制变量
基本类型:
var num1 = 5;
var num2 = num1;

num2 的值改变了, 不会影响到 num1 的值.

引用类型:
var o1 = new Object();
var o2 = o1;

o2 的值改变了, o1 的值也随着改变了.

4.2 传递参数
基本类型:
function add(num) {
    num += 10;
    return num;
}
var count = 20;
var result = add(count);
alert(count);  //20
alert(result); //30

形参的值改变了, 不会影响实参的值.

引用类型:
function setName(obj) {
    obj.name = "john";
}
var o1 = new Object();
setName(o1);
alert(o1.name);

形参的值改变了, 实参的值也跟着改变了.

5. Array 5.1 定义方法:

var arr = new Array(5);

var arr = Array(5);

var arr = new Array(1, 2, 3, 4, 5);

var arr = Array(1, 2, 3, 4, 5);

var arr = [1, 2, 3, 4, 5];
如上所示几种定义数组的方法. 使用构造函数时, 可以省略 new.

5.2
var arr = [1, 2, 3, 4, 5];
alert(arr[34]); // undefined

如上所示, alert(arr[34]); 会在浏览器中弹出提示框显示 undefined. 但是此时 arr[34]并没有值(没有值的变量都返回undefined), 也就是它的值并不是 undefined. 所以数组的长度依然是 5.

var arr = [1, 2, 3, 4, 5];
arr[34] = undefined;
alert(arr[34]); // undefined

如上所示, 给 arr[34] 赋值了, 此时数组的长度会变为 35. 并且 arr[5~33]之间所有的值都变为 undefined.

总结: 当索引超出数组范围的时候, 只有给该索引位置设置值之后, 数组的长度才会改变. 6. Date

var now = new Date() 获得当前时间.

7. Function

Function 是对象. 函数名是指针, 指向该函数对象.

因为函数名是指针, 所以没有重载, 因为指针只会指向一个函数对象.

函数提升: 解析器会先读取函数声明, 使其在任何代码执行前可用.

函数可以做参数, 也可以做返回值.

arguments: 保存着所有传入函数的参数. 类似数组.

函数的两个属性: length prototype.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79581.html

相关文章

  • HTML使用的几个识点

    摘要:本文主要分享几个网页前端的几个基础知识点,用于零碎的知识学习,同时也是在实践中的一些心得。俄奥斯特洛夫斯基展示幼圆人最宝贵的东西是生命。本文主要分享几个网页前端的几个基础知识点,用于零碎的html知识学习,同时也是在实践中的一些心得。最后给出了几个小例子。 1. 网页编程初识 掌握基本的html标签以及CSS语法 学会查看网页的源代码F12 生活中多总结一些基本的美好的东西 2. 页面定...

    asoren 评论0 收藏0
  • JavaScript中几个重要的识点(1) ---- 面向对象

    摘要:中几个最重要的大知识点面向对象事件异步交互面向对象在中可以把任意的引用和变量都看成是一个对象。我们可以写一个通用方法来模拟面向对象语言的多态 JavaScript中几个最重要的大知识点 面向对象 DOM事件 异步交互ajax 面向对象 在JS中可以把任意的引用和变量都看成是一个对象。面向对象的主要三个表现形式: 封装 继承 多态 1. 封装 1.1 单例模式 var obj={...

    acrazing 评论0 收藏0
  • javascript几个识点

    摘要:函数表达式函数声明立即执行函数表达式。变量提升所有的声明变量和函数都会被移动到各自作用域的最顶端,这个过程称为提升。严格模式绑定到,否则为全局对象。这种设置为单向,不可取消。如果值为则禁止删除这个属性。是否为可枚举的。 变量赋值 变量赋值分为两个动作: 如果当前没有声明过,那编译器会在当前作用域声明一个。 运行时引擎会在作用域查找该变量,如果找到就对其赋值。 查询有:LHS查询和R...

    niuxiaowei111 评论0 收藏0
  • JavaScript 总结几个提高性能识点

    摘要:有兴趣的朋友可自行该知识点,这里件简单提下吧。并且可能一个点或者两个点不注意是不会产生多大性能影响,但是从多个点进行优化后,可能产生的就会是质的飞跃了 针对js文件的加载位置 在HTML文件中,标签是可以加在区域和区域的。这里鉴于JavaScript执行和UI渲染的单线程原因,如果js文件载入会阻塞后面对于页面的解析过程,页面会等到js文件完全加载并运行后才继续执行该做的操作。那么问题...

    nihao 评论0 收藏0
  • JavaScript中几个重要的识点(2) ---- DOM事件

    摘要:使用来移除事件,参数必须与要移除的事件处理函数地址指针相同。在低版本浏览器中,绑定级事件的方法为中的级事件的事件处理程序都是在冒泡阶段执行的。 JavaScript中几个最重要的大知识点 面向对象 DOM事件 异步交互ajax 事件 事件就是文档和浏览器的瞬间交互行为 1.事件类型 点击: click 滚轮: scroll 滑动: move 进入: enter 加载: load ...

    dantezhao 评论0 收藏0

发表评论

0条评论

dendoink

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<