javascript 代码中的"use strict";是什么意思 ? 使用它区别是什么?

javascript 代码中的"use strict";是什么意思 ? 使用它区别是什么?
use strict是一种ECMAscript 5 添加的(严格)运行模式,这种模式使得 Javascript 在更严格的条件下运行, 使JS编码更加规范化的模式,消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为。 默认支持的糟糕特性都会被禁用,比如不能用with,也不能在意外的情况下给全局变量赋值; 全局变量的显示声明,函数必须声明在顶层,不允许在非函数代码块内声明函数,arguments.callee也不允许使用; 消除代码...

什么是闭包(closure),为什么要用它?

什么是闭包(closure),为什么要用它?
闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用链域,将函数内部的变量和方法传递到外部。 闭包的特性: 1.函数内再嵌套函数 2.内部函数可以引用外层的参数和变量 3.参数和变量不会被垃圾回收机制回收 //li节点的onclick事件都能正确的弹出当前被点击的li索引 &...

JavaScript中,改变this指向的方法有哪些?

JavaScript中,改变this指向的方法有哪些?
使用bind,call和apply至少有三种不同的方法。例如,我在对象monica中有一个名为deductMontlyFee的方法,默认情况下,这个方法中的monica将是monica。 var monica = { name: 'Monica Geller', total: 400, deductMontlyFee: function(fee){ this.total = this.total - fee; return this.name + ' remaining balance is '+ this.total; } } ...

如何比较JavaScript中的两个对象是否相等?

如何比较JavaScript中的两个对象是否相等?
基础知识: JavaScript有两种不同的方法来测试相等性。字符串和数字等基本类型按其值进行比较,而数组,日期和用户定义的对象等对象则通过引用进行比较。这意味着它会比较两个对象是否指向内存中的相同位置。 答案:等式检查将检查两个对象是否具有相同属性的相同值。要检查这一点,您可以获取两个对象的键。如果属性数不匹配,则这两个对象不相等。其次,将检查每个属性是否具有相同的值。如果所有属性具...

javascript创建对象的几种方式?

javascript创建对象的几种方式?
javascript创建对象简单的说,无非就是使用内置对象或各种自定义对象,当然还可以用JSON;但写法有很多种,也能混合使用。 1、对象字面量的方式 person={firstname:"Mark",lastname:"Yun",age:25,eyecolor:"black"}; 123      person={firstname:"Mark",lastname:"Yun",age:25,eyecolor:"black"};  ...

Javascript如何实现继承?

Javascript如何实现继承?
1、构造继承 2、原型继承 3、实例继承 4、拷贝继承 原型prototype机制或apply和call方法去实现较简单,建议使用构造函数与原型混合方式。 function Parent(){ this.name = 'wang'; } function Child(){ this.age = 28; } Child.prototype = new Parent();//继承了Parent,通过原型 var demo = new Child(); alert(demo.age); alert(demo.name);//得到被继承的属性 ...

如何实现数组的随机排序?

如何实现数组的随机排序?
方法一: var arr = [1,2,3,4,5,6,7,8,9,10]; function randSort1(arr){ for(var i = 0,len = arr.length;i < len; i++ ){ var rand = parseInt(Math.random()*len); var temp = arr[rand]; arr[rand] = arr[i]; arr[i] = temp; } return arr; } console.log(randSort1(arr)); ...

对this对象的理解?一文弄懂javascript中的this对象

对this对象的理解?一文弄懂javascript中的this对象
this总是指向函数的直接调用者(而非间接调用者);如果有new关键字,this指向new出来的那个对象;在事件中,this指向触发这个事件的对象,特殊的是,IE中的attachEvent中的this总是指向全局对象Window; JavaScript中的this关键字会让JavaScript开发人员感到困惑。本文旨在全面阐明这一点。 我们使用this时类似于自然语言,比如:张三跑得很快,因为他正在赶公交。 请注意使用代词“他”。我们本可以这样写...

在javascript里,为什么有时需要把this赋给self或that?

在javascript里,为什么有时需要把this赋给self或that?
我们在阅读代码的时候,常常会看到,在javascript里,有时需要把this赋给self或that,为什么要这样做呢? var self = this ; 1 var self = this ;   在JavaScript中,“ self或者that ”是维护对原始“ this ”关键字的引用的模式,我们也可以说这是一种处理事件的技术。 不过self这个关键词,现在被浏览器...

javascript的递归算法,正确处理获取到值为undefined的情况

javascript的递归算法,正确处理获取到值为undefined的情况
在做递归遍历数组或者对象的时候,有时会遇到返回的值是undefined的问题。在浏览器里没有报错,但就是拿不到返回的值,这其实是程序的一个问题。我们先来看一下下面的例子: 数据结构: const testArr = [ { id:1, department: '一级部门', children: [ { id:2, department: '二级部门', childr...
Copyright © 前端面试题 保留所有权利.   Theme  Ality 桂ICP备17012235号-1

用户登录