前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript高级篇

JavaScript高级篇

作者头像
编程随想曲
发布2022-04-21 13:19:52
2080
发布2022-04-21 13:19:52
举报
文章被收录于专栏:编程随想曲

Function对象

1.引入

1.1Function是基于原型的对象

2.创建Function对象

2.1 var myFun = new Function("参数一","参数二","alert(参数一+参数二);");

3.Function对象的属性

3.1 length:得出方法参数的个数

4.Function对象的方法

4.1 toString():打印出方法的源码

  4.2 valueOf():(作用同toString)

JS闭包

1.变量的作用域

  1.1局部变量

  1.2全局变量(声明在外边或不用var来声明的变量)

2.外部读取方法内部的局部(私有)变量

代码语言:javascript
复制
function a(){  var b = "cc";  
}

alert(b);//报错:提示b未定义
代码语言:javascript
复制
解决方案
function a(){
    var b = "cc";
    function d(){
        alert(b);
    }
    return d;
}
var result = a();
result();

面向对象的特性

一、创建对象

1.1初始化器

代码语言:javascript
复制
var any={
name:"some",
age:10,
action:function(){
   alert(this.name+":"+this.age); 
}
};

1.2构造方法

代码语言:javascript
复制
function some(name,age){this.name=name;this.age=age;this.action=function(){
  alert(this.name+":"+this.age);  
}
}var aa = new some("bb",5);
aa.action();

1.3属性

代码语言:javascript
复制
function C(){  
    this.objPro = "对象属性";
    C.prototype.objPro2="对象属性2";  
    var privateObj = "私有属性";              
}
C.classPro = "类属性";

1.4对象方法

代码语言:javascript
复制
function C(){
    var privateFun = function(){
        alert("私有方法");
    }
    this.objFun = function(){
        alert("对象方法");
    }
    this.prototype.objFun = function(){
        alert("对象方法");
    }
}

C.classFun = function(){
    alert("类方法");
}

二、封装

代码语言:javascript
复制
var any={
    name:"some",
    age:10,
    action:function(){
       alert(this.name+":"+this.age); 
    }
};

三、继承

3.1Dog还是Dog

代码语言:javascript
复制
function Animal(name,age){
    
}function Dog(name,age){
    Animal.apply(this,[name,age]);
}

3.2Dog变成Animal了

代码语言:javascript
复制
function Animal(name,age){
    
}function Dog(name,age){
    Animal.apply(this,[name,age]);
}

Dog.prototype=new Animal();

四、多态

代码语言:javascript
复制
function Animal(name,age){     
    this.say=function(){}
}

function Dog(name,age){    
    this.say=function(){}
}

Dog.prototype = new Animal();
function Cat(name,age){     
    this.say=function(){}
}

Cat.prototype = new Animal();
function say(){
    if(animal  instanceof Animal){
        animal.say();
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程随想曲 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Function对象
  • JS闭包
  • 面向对象的特性
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档