js11--js与C++、java异同

简介:
function F(){
    this.name = "111";
    this.say = function(){alert(222);}
    alert(333);
}    

var f1 = new F();//333
alert(f1.name);//111
f1.say();//222
f1();// f1 is not a function , f1是java里面的对象,不能()执行




var f2 = function(){   //f2也可以看成是一个类,跟上面写法一样
    this.name1 = "444";
    this.say1 = function(){alert(555);}
    alert(666);
}
f2();//666,f2当成c++里面的函数地址看,只能小括号执行,没有对象的属性方法
alert(f2.name1);//undefined,不能当成对象看,因为对象只有3中,var o = {},var o = new Object(),var o = new F()
f2.say1();//f2.say1 is not a function




function ff(){}
var f = new ff();  //一个对象生成,跟java一样
ff();  //函数调用,跟C++一样,函数名F是函数地址,F()是调用函数执行。
 
 

function f(){
    var num = 1;
    return function(){//把子类对象return出去,每return一次都是一个新的对象
        num++;
        alert(num);
    }
}
var r1 = f();
r1();//2
r1();//3

var r2 = f();//2个对象
r2();//2
r2();//3

函数每执行一次就开辟一个内存区域,嵌套函数产生的闭包,多个子函数闭包共享父闭包,函数级别的继承,
复制代码

 

复制代码
function test(){
    function(){  //不能这么写
        for(var i = 1 ; i <=5; i++){  //i
            alert(i);
        }                        
    }
    
    var d = function(){//不能不写var d = ,语法过不了,此时把函数里面当成类里面看待。可以这么写,但是函数不执行
        for(var i = 1 ; i <=5; i++){  //i
            alert(i);
        }                        
    }
复制代码

 

function test(){
    function b(){  //可以这么写
    }
}

函数当类看时,跟java一样。   类里的函数和原型里的函数当对象的成员函数看,类里的属性和原型里的属性当成对象的成员变量看。

函数当函数看是,当成普通函数看就是当成函数地址看。


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/6865158.html,如需转载请自行联系原作者

相关文章
|
12月前
|
jenkins Shell 测试技术
|
12月前
|
安全 jenkins Java
Java、Python、C++支持jenkins和SonarQube(一)
Jenkins 是一个开源的 持续集成(CI)和持续交付(CD) 工具,用于自动化构建、测试和部署软件项目。它基于 Java 开发,支持跨平台运行,并拥有丰富的插件生态系统,可以灵活地扩展功能
619 5
|
12月前
|
jenkins Java Shell
Java、Python、C++支持jenkins和SonarQube(全集)
Jenkins 是一个开源的持续集成(CI)和持续交付(CD)工具,用于自动化构建、测试和部署软件项目。它基于 Java 开发,支持跨平台运行,并拥有丰富的插件生态系统,可以灵活地扩展功能
945 1
|
12月前
|
jenkins Java 持续交付
Java、Python、C++支持Jenkins和SonarQube(三)
Python与Jenkins和SonarQube
543 1
|
缓存 JavaScript 前端开发
Java 如何确保 JS 不被缓存
【10月更文挑战第19天】在 Java 中,可以通过设置 HTTP 响应头来确保 JavaScript 文件不被浏览器缓存。方法包括:1. 使用 Servlet 设置响应头,通过 `doGet` 方法设置 `Expires`、`Cache-Control` 和 `Pragma` 头;2. 在 Spring Boot 中配置拦截器,通过 `NoCacheInterceptor` 类和 `WebConfig` 配置类实现相同功能。这两种方法都能确保每次请求都能获取到最新的 JavaScript 内容。
282 1
|
12月前
|
jenkins Java 测试技术
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
623 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
前端开发 JavaScript Java
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
796 13
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
1228 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
SQL JavaScript 安全
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
737 11
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战