`
biyeah
  • 浏览: 201413 次
  • 来自: ...
社区版块
存档分类
最新评论

javascript进阶1

 
阅读更多
参考:http://ejohn.org/apps/learn

答案在后面。
1、看下面的例子,能看得出输出什么?
var a = 5; 
function runMe(a){ 
 console.log("a = " + a);//a=?
 
 function innerRun(){ 
   console.log("b = " + b);//b=?
   console.log("c = " + c);//c=?
 } 
 
 var b = 7; 
 innerRun(); 
 var c = 8; 
} 
runMe(6); 
 
for ( var d = 0; d < 3; d++ ) { 
 setTimeout(function(){ 
   console.log("d = " + d);//d=?
 }, 100); 
}



2、下面代码输出是什么?
var count = 0;
for ( var i = 0; i < 4; i++ ) (function(i){
  setTimeout(function(){
    console.log(“i = ” + i);
  }, i * 200);
})(i);


3、看下面的代码,最后输出是什么?
function Ninja(){ 
  this.swingSword = function(){ 
    return true; 
  }; 
} 
  
Ninja.prototype.swingSword = function(){ 
  return false; 
};

var ninja = new Ninja(); 
console.log(ninja.swingSword());//false or true?



4、类的定义
先看下面的例子,能看得出有几个地方错误吗?
var a = {
 a :0,
'b' :1,
'a' : 2,
class : 2,
first-name :2
};


5、看代码
var obj = {name : 'iteye'};
console.log(obj.age);//输出什么
console.log(obj.age.val);//这里又输出什么


6、第三行的写法正确吗?
function Ninja(){}
var ninja = new Ninja();
var ninjaB = new ninja.constructor();//可以这样写吗


7、方法的length表示什么意思?
function makeNinja(name){} 
function makeSamurai(name, rank){} 
makeNinja.length//?
makeSamurai.length//?


8、
function ff(){
return 1;
}
function ff(x){
return 2;
}
function ff(x,y,z){
return 3;
}
console.log(ff(1));//输出?



9、基础的东西
var foo = 0;
var bar = 0
function ff(){
    this.foo = 1
    bar = 1;
    car = 1;
    var dar = 1;
}
ff();
console.log("foo = " + foo);
console.log("bar = " + bar);
console.log("car = " + car);
console.log("dar = " + dar);


10、最后压轴的:
function addMethod(object, name, fn){ 
  var old = object[ name ];  
  object[ name ] = function(){ 
    console.log("fn.length = " + fn.length);//输出?
    if ( fn.length == arguments.length ) 
      return fn.apply( this, arguments ); 
    else if ( typeof old === "function" ) 
      return old.apply( this, arguments ); 
  }; 
}

var a = {};
addMethod(a, "find", function(){
	console.log("in find()");
});

addMethod(a, "find", function(x){
	console.log("in find(x)");
});

addMethod(a, "find", function(x, y){
	console.log("in find(x, y)");
});

a.find();


答案:
1、运行结果
运行结果:
引用
a = 6
b = 7
c = undefined
d = 3
d = 3
d = 3

后面三个d=3结果比较意外吧。
2、
引用
//i = 0
//i = 1
//i = 2
//i = 3

3、
引用
true

类内定义的方法会覆盖prototype定义的方法。

4、有一个地方错误,第6行first-name因为有保留字减号所以需要用引号引起来。
引用
var a = {
a :0,
'b' :1,
'a' : 2,
class : 2,
'first-name' :2
};


5、第一次输出
引用
undefined

第二次就没有输出了,而是抛出错误
引用
TypeError: obj.age is undefined


6、这样写是正确的,等价于:
引用
var ninjB = new Ninja();


7、表示方法参数的个数。

8、输出为
引用
3

后面函数的定义会覆盖前面同名函数的定义,没有方法重载。

9、输出下面
引用
foo = 1
bar = 1
car = 1
ReferenceError: dar is not defined


10、这个是实现重载的一种方式。
引用
fn.length = 2
fn.length = 1
fn.length = 0
in find()
分享到:
评论

相关推荐

    Javascript 面向对象的JavaScript进阶

    Javascript 面向对象的JavaScript进阶 Javascript技术

    2.JavaScript进阶1

    JavaScript是一种广泛用于网页和...总之,JavaScript进阶学习涵盖了对象的概念、DOM操作和事件处理等方面,这些都是构建交互式Web应用的基础。通过熟练掌握这些知识,开发者可以创建出更加动态和用户体验丰富的网页。

    编程实践:JavaScript进阶100例

    《编程实践:JavaScript进阶100例》是一份专为初级JavaScript学习者设计的资源,旨在通过丰富的实例帮助初学者深入理解这门语言。这份PDF文档包含了一系列精心挑选的编程练习,覆盖了JavaScript的核心概念和实用技巧...

    javascript 进阶教程

    然后,深入理解原型和原型链是JavaScript进阶的关键。这涉及到对象的创建、继承机制,以及如何利用原型来实现面向对象编程。掌握`__proto__`、`prototype`以及`Object.create()`等概念,能帮助我们更好地设计和复用...

    手册-JavaScript进阶学习.chm

    手册-JavaScript进阶学习 手册-JavaScript进阶学习 手册-JavaScript进阶学习

    JavaScript进阶面试题_30题.pdf_前端面试题

    JavaScript进阶面试题_30题.pdf_前端面试题 从这份文件中,我们可以总结出以下的知识点: 1. ECMAScript6 中的类语法糖:ECMAScript6 中引入了类语法糖,这使得有 OOP 基础的人更容易上手 JavaScript。虽然对熟悉 ...

    JavaScript 进阶问题列表,包含完整答案

    《JavaScript进阶问题列表》是一份全面覆盖JavaScript高级知识点的问题集合,旨在帮助开发者深入理解JavaScript语言的各个方面,并掌握进阶技巧。每个问题都提供了详细的答案和解析,涵盖了JavaScript的高级特性、...

    [JavaScript进阶]Professional JavaScript for Web Developers(3rd)

    [JavaScript进阶]Professional JavaScript for Web Developers(3rd)第二本系统JavaScript进阶原版书

    javascript进阶.md

    javascript进阶.md

    JavaScript进阶版.xmind

    JavaScript进阶版.xmind

    JavaScript进阶第一天.md

    JavaScript进阶第一天.md

    7-4 JavaScript进阶.md

    7-4 JavaScript进阶.md

    JavaScript进阶第一天.zip

    在“JavaScript进阶第一天”的学习资源中,我们可以深入探讨以下几个关键知识点: 1. **变量与数据类型**:JavaScript支持七种数据类型,包括基本数据类型(Number、String、Boolean、Null、Undefined、Symbol、...

    JavaScript进阶基础-3

    【JavaScript进阶基础-3】 在JavaScript中,进阶基础涉及到很多重要的概念,尤其是面向对象、前后端交互、Cookie以及JSONP。以下是对这些概念的详细解析: **面向对象基础** 面向对象是一种编程范式,它关注的是...

    javascript进阶教程.doc

    这个JavaScript进阶教程涵盖了以下主题: 1. **基础知识**:介绍JavaScript的基本语法,如何在HTML中引入脚本,以及简单的示例。 2. **JavaScript对象**:讲解JavaScript的面向对象特性,如何定义和使用对象。 3. *...

    java教材27-JavaScript进阶(IT job就业培训).doc

    java教材27-JavaScript进阶(IT job就业培训)

    JavaScript进阶教程.md

    JavaScript高级笔记,深入讲解了函数、面向对象、继承、promise、原型、原型链

    HTML5与移动互联网开发方向,《HTML5与移动互联网应用开发基础》、《JavaScript进阶》课程仓库.zip

    《JavaScript进阶》课程则深入探讨了JavaScript这门脚本语言的核心概念和高级特性。JavaScript是Web开发中不可或缺的一部分,尤其在移动互联网领域,它是实现页面动态效果、用户交互和数据处理的主要工具。课程可能...

    javascript进阶版纯手写课件

    该课件内部的内容适合于对js有了基础的了解和认知,但又想往更深的地方去探索,里面有包括节流,防抖,数据解构,原型对象,还有js比较核心的函数和方法等,都有使用和介绍。让自己可以有一个质的提升,这篇文章也是...

    javascript 网页开发实例教程

    二、JavaScript进阶 1. 面向对象编程:理解原型链、构造函数、继承、封装和多态等面向对象编程的核心概念。 2. 异步编程:学习回调函数、Promise、async/await,解决JavaScript中的异步问题,提高代码可读性。 3. ...

Global site tag (gtag.js) - Google Analytics