`
alex09
  • 浏览: 975006 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

深入浅出的JavaScript 面向对象的特性

阅读更多
javascript 王者归来

javascript不支持函数或方法的重载,只会覆盖
function add(number)
{
   alert(number + 10);
}
function add(number)
{
   alert(number + 20);
}
add(20);   // 40

javascript中,函数就是对象,JavaScript中有个内置的对象Function
因为定义一个add方法时相对于
var add = new Function("number","alert('hello')");
var add = new Function("number","alert('world')");

所以后面的覆盖了前面的,所以没有重载

javascript是动态语言,不是编译语言,是解释语言

NaN  not a number
函数中都有一个内置对象arguments
alert(add.length);    //期望的参数长度
函数就是对象

JavaScript中有五种原始值:Undefined,Null,Boolean,Number,String
java中有8中基本数据类型:                 
byte    b;  1字节              
short   s;  2字节              
int     i;  4字节              
long    l;  8字节              
char    c;  2字节(C语言中是1字节)
float   f;  4字节              
double  d;  8字节              
boolean bool;  false/true       

Undefined数据类型的值只有一个:undefined
var s;
alert(s);  //undefined。

Null数据类型的值只有一个:null
alert(typeof null);   //object   

Boolean数据类型的值只有两个:true,false

typeof的返回值有五个:undefined,boolean,number,string,object

对于函数来说,如果其不返回值,那么其返回值就为undefined
function test()
{
  alert("");
}
alert(test());    //undefined   没有返回值
alert(test);      //打印函数的源代码


var s ;
alert(s);      //undefined
alert(s2);     //s2没有定义,报错

var s ;
alert(typeof s);      //undefined
alert(typeof s2);     //undefined
//null与undefined的关系: undefined实际上从null派生而来
alert(undefined == null)



javascript会出现内存泄漏,客户端内存泄漏。所以在函数中都要加入var,防止内存泄漏

强制转换有三种:Boolean(value),Number(value),String(value)


Object所有类的父类
o.name = "langsin";
delete o.name;

js的作用域(对于函数定义中的变量来说,加var表示局部变量,不加var表示全局变量在javascript中没有块级别的作用域)

function test()
{
   s = "hello";
}
test();
alert(s);   //hello

function test()
{
   var s = "hello";
}
alert(s);   // s没有定义, 


//js的作用域
function f(props) {   
    for(var i=0; i<10; i++) {}   
    alert(i);         //10  虽然i定义在for循环的控制语句中,但在函数   
                      //的其他位置仍旧可以访问该变量.   
    if(props == "local") {   
        var sco = "local";   
    alert(sco);    
    }   
    alert(sco);       //同样,函数仍可引用if语句内定义的变量   
}   
f("local");      //10  local   local  

var sco = "global";   
function print1() {   
    alert(sco);   //global   
}   
function print2() {   
    var sco = "local";   
    alert(sco);   //local   
}   
function print3() {   
    alert(sco);   //undefined   
    var sco = "local";    
    alert(sco);   local   
}   
  
print1();  //global   
print2();  //local   
print3();  //undefined  local 

前面两个函数都很容易理解,关键是第三个:第一个alert语句并没有把全局变

量"global"显示出来,而是undefined,这是因为在print3函数中,我们定义了sco局部变量(不管位置在何处),那么全局的
sco属性在函数内部将不起作用,所以第一个alert中sco其实是局部sco变量,相当于:
function print3() {   
    var sco;   
    alert(sco);   
    sco = "local";   
    alert(sco);   
}  

从这个例子我们得出,在函数内部定义局部变量时,最好是在开头就把所需的变量定义好,以免出错。

var scope = "global"   //定义全局变量   
function print() {   
    alert(scope);   
}   
function change() {   
    var scope = "local";  //定义局部变量   
    print();              //虽然是在change函数的作用域内调用print函数, 

  
                          //但是print函数执行时仍旧按照它定义时的作用域起作用   
}   
change();    //golbal  


整理的比较乱
分享到:
评论

相关推荐

    深入浅出JavaScript对象模型

    ### 深入浅出JavaScript对象模型 #### JavaScript对象的本质 根据ECMA262规范,ECMAScript被定义为一种基于对象的语言而非传统的面向对象语言。这意味着在JavaScript中,对象被视为存储数据的一种大型数组形式,...

    深入浅出JavaScript源代码

    总的来说,深入浅出JavaScript源代码的学习涵盖了语言基础、面向对象、异步编程、DOM操作以及新特性的应用等多个方面。通过系统学习和实践,开发者不仅能理解JavaScript的工作原理,还能掌握编写高效、可维护代码的...

    深入浅出JAVASCRIPT 中文版

    总而言之,《深入浅出JAVASCRIPT 中文版》这本书将引导读者全面了解JavaScript,从基础语法到高级特性,再到实际应用,帮助读者成为一名熟练的JavaScript开发者。通过阅读这本书,你可以深入理解这门语言,从而更好...

    面向对象JavaScript精要(英文原版pdf)

    作者深入浅出地介绍了面向对象编程的基本原理以及如何将这些原理应用于JavaScript中。 #### 二、面向对象编程基础 面向对象编程(OOP)是一种软件开发方法,它通过将数据和处理这些数据的方法捆绑在一起形成“对象”...

    JavaScript面向对象编程指南(第2版).rar

    本指南的第二版深入探讨了JavaScript的面向对象特性,旨在帮助开发者更好地理解和应用这一编程范式。 JavaScript的面向对象主要基于三个核心概念:封装、继承和多态。封装是将数据和操作这些数据的方法结合在一起,...

    深入浅出JavaScript 4th.Edition(英文原版)

    ### 深入浅出JavaScript 4th.Edition(英文原版)——Wrox.Beginning.JavaScript.4th.Edition.Oct.2009 #### 标题和描述中的核心知识点 本书《深入浅出JavaScript 4th.Edition(英文原版)》即为《Wrox.Beginning....

    深入浅出JavaScript

    《深入浅出JavaScript》是专为前端开发初学者设计的一本指南,旨在通过直观易懂的方式教授JavaScript语言的基础和高级概念。"Head First"系列以其独特的教学风格闻名,利用丰富的图像、幽默的语言和非线性叙述,帮助...

    深入浅出 JavaScript

    《深入浅出JavaScript》是一本面向想要深入了解JavaScript编程语言的读者的专业书籍。这本书籍由图灵出版,以其高质量的技术内容而备受业界推崇。通过下载和阅读《深入浅出JavaScript》的源码,读者不仅可以理解书中...

    深入浅出javascript

    "深入浅出JavaScript"这本书旨在帮助开发者,无论初学者还是有一定基础的人,提升他们的JavaScript编程技能。 本书可能涵盖了以下几个核心知识点: 1. **基础语法**:讲解JavaScript的基础元素,包括变量、数据...

    深入浅出JavaScript 随书源码

    《深入浅出JavaScript》是一本旨在帮助读者理解并精通JavaScript语言的书籍,随书附带的源码是学习过程中的重要参考资料。源码包含了书中讲解的各种示例和练习,旨在通过实践加深对JavaScript核心概念的理解。 在...

    深入浅出javascript(pdf)

    总之,"深入浅出JavaScript"这本书将带领读者全面探索JavaScript的世界,从基础知识到高级特性的运用,结合实际案例和练习,旨在培养出能够熟练运用JavaScript进行Web开发的专业技能。无论是对JavaScript感兴趣的...

    Begin_scriptallchapters深入浅出Javascript.rar

    《深入浅出JavaScript》是一本全面且深入讲解JavaScript编程的书籍,旨在帮助读者从基础知识到高级概念,系统地掌握这门强大的脚本语言。书中的例子丰富多样,旨在让学习者能够更容易地理解和应用所学知识。以下是...

    ASP.NET AJAX深入浅出系列课程(9):使用Microsoft AJAX Library中的面向对象特性来进行开发

    总之,通过学习和掌握Microsoft AJAX Library中的面向对象特性,开发者能够构建出更强大、更易于维护的ASP.NET AJAX应用程序。这个系列课程的第九部分将深入探讨这些概念,并通过示例代码帮助你更好地理解和运用。...

    javascript 面向对象教程

    JavaScript是一种广泛应用于Web开发的脚本语言,尤其以其灵活的面向对象特性著称。尽管它在初学者眼中可能显得相对复杂,但理解JavaScript的面向对象编程(OOP)概念对于成为一个熟练的开发者至关重要。在本文中,...

    javascript面向对象编程

    JavaScript是一种广泛应用于Web开发的动态、弱类型的语言,它的面向对象编程(Object-Oriented Programming,简称...通过阅读《javascript面向对象编程.pdf》这份资料,你将深入理解这些概念,并能够运用到实际项目中。

    个人JavaScript深入浅出要点总结PDF版

    总之,这份"个人JavaScript深入浅出要点总结PDF版"将引导你深入理解JavaScript的基本概念、语法特性和实际应用,无论你是初学者还是经验丰富的开发者,都能从中受益。通过学习和实践这些知识,你将能够更好地驾驭...

Global site tag (gtag.js) - Google Analytics