静态函数

你需要知道的 JavaScript 类(class)的这些知识

ⅰ亾dé卋堺 提交于 2020-01-16 20:40:04
作者: Dmitri Pavlutin 译者:前端小智 来源:dmitripavlutin 点赞再看,养成习惯 本文 GitHub https://github.com/qq44924588... 上已经收录,更多往期高赞文章的分类,也整理了很多我的文档,和教程资料。欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 JavaScript 使用原型继承:每个对象都从原型对象继承属性和方法。 在 Java 或 Swift 等语言中使用的传统类作为创建对象的蓝图,在 JavaScript 中不存在,原型继承仅处理对象。 原型继承可以模拟经典类继承。为了将传统的类引入JavaScript, ES2015 标准引入了 class 语法,其底层实现还是基于原型,只是原型继承的语法糖。 这篇文章主要让你熟悉 JavaScript 类:如何定义类,初始化实例,定义字段和方法,理解私有和公共字段,掌握静态字段和方法。 1. 定义:类关键字 使用关键字 class 可以在 JS 中定义了一个类: class User { // 类的主体 } 上面的代码定义了一个 User 类。 大括号 {} 里面是类的主体。 此语法称为 class 声明。 如果在定义类时没有指定类名。可以通过使用 类表达式 ,将类分配给变量: const UserClass = class { // 类的主体 }

java基础

假如想象 提交于 2020-01-15 00:47:54
java基础笔记 第一章 入门须知 1.1 程序开发步骤 编写 编译: 将我们编写的java源文件翻译成jvm认识的class文件,此过程编译器会检查我们所写的程序是否有语法错误 运行 1.2 标识符 定义:自己定义的内容,如类名,方法名,变量名 命名规则: 可以包含:**字母,数字,$(美元符号),_(下划线)** 不能以数字开头 1.3 数据类型转换 自动转换:自动向更适应的类型转换(自动将类型提升) 强制转换:随你,但要看能不能转换成功 加减运算默认是在int类型下的,所以short类型也会发生自动转换 short s = 1; s = s + 1;//编译失败 public static void main(String[] args){ byte b1=1; byte b2=2; //对于常数,编译器是知道的,所以会自动得出结果3,从而确定没有越界而顺利赋值 byte b3=1 + 2; //对于变量,编译器不知道值是多少,会进行自动转换,从而报错,出现异常 byte b4=b1 + b2; System.out.println(b3); System.out.println(b4); } 1.4 运算符 && 短路与:左边是false,右边就不再运算 || 短路或:左边是true,右边就不再运算 ! 取反 1.5 方法 方法必须定义在一个类中的方法外

ES6 Class使用

对着背影说爱祢 提交于 2020-01-14 18:28:43
构造函数生成实例的执行过程: 1.当使用了构造函数,并且 new 构造函数(),后台会隐式执行 new Object()创建对象 2.将构造函数的作用域给新对象,(即 new Object()创建出的对象),而函数体内的 this就代表 new Object()出来的对象 3.执行构造函数的代码 4.返回新对象(后台直接返回) 之前创建对象 //函数名和实例化构造名相同且大写(非强制,但这么写有助于区分构造函数和普通函数) function Person(name,age) { this.name = name; this.age=age; } Person.prototype.say = function(){ return "我的名字叫" + this.name+"今年"+this.age+"岁了"; } var obj=new Person("laotie",88);//通过构造函数创建对象,必须使用new 运算符 console.log(obj.say());//我的名字叫laotie今年88岁了 ES6 使用class类创建对象 class Person{//定义了一个名字为Person的类 constructor(name,age){//constructor是一个构造方法,用来接收参数 this.name = name;//this代表的是实例对象 this.age

nginx+uWSGI+django+virtualenv+supervisor发布web服务器

你说的曾经没有我的故事 提交于 2020-01-14 15:57:26
nginx+uWSGI+django+virtualenv+supervisor发布web服务器 导论 WSGI是Web服务器网关接口。它是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收请求,处理请求,响应请求) 基于wsgi运行的框架有Bottle,Django,Flask,用于解析动态HTTP请求 支持WSGI的服务器 wsgiref python自带的web服务器 Gunicorn 用于linux的 python wsgi Http服务器,常用于各种django,flask结合部署服务器。 mode_wsgi 实现了Apache与wsgi应用程序的结合 uWSGI C语言开发,快速,自我修复,开发人员友好的WSGI服务器,用于Python Web应用程序的专业部署和开发。 在部署python程序web应用程序时,可以根据性能的需求,选择合适的wsgi server,不同的wsgi server区别在于并发支持上,有单线程,多进程,多线程,协程的区别,其功能还是近似,无非是请求路由,执行对应的函数,返回处理结果。 Django部署 Django的主要部署平台是 WSGI,这是用于Web服务器和应用程序的Python标准。 Django的 startproject管理命令设置一个简单的默认WSGI配置

Java构造函数

老子叫甜甜 提交于 2020-01-14 15:33:23
Java构造函数 构造函数 构造函数的最大作用就是创建对象时完成初始化,当我们在new一个对象并传入参数的时候,会自动调用构造函数并完成参数的初始化 构造函数的规则: 构造函数与类同名 每个类可以有一个以上的构造函数 构造函数可以有0 个 、 1 个或多个参数 构造函数没有返回值 构造函数总是伴随着new操作一起调用 看一个Employee类例子: public class Employee { // 关键字 private 确保只有 Employee 类自身的方法能够访问这些实例域 , 而其他类的方法不能够读写这些域 。 // 可以用 public 标记实例域 , 但这是一种极为不提倡的做法 //public 數据域允许程序中的任何方法对其进行读取和修改 ,。 这就完全破坏了封装 。 //任何类的任何方法都可以修改 public 域 , 从我们的经验来看 , 某些代码将使用这种存取权限 , 而这并不我们所希 //望的 , 因此这里强烈建议将实例域标记为 private , , private String name ; private double salary ; public Employee(String name, double salary) { this.name = name; this.salary = salary; } @Override public

C++关键字static的用法

孤人 提交于 2020-01-14 08:52:07
转载: https://www.cnblogs.com/songdanzju/p/7422380.html 四个作用: 1.先来介绍它的第一条也是最重要的一条:隐藏。(static函数,static变量均可) 当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。 2.static的第二个作用是保持变量内容的持久。(static变量中的记忆功能和全局生存期) 存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和static变量,只不过和全局变量比起来,static可以控制变量的可见范围,说到底static还是用来隐藏的。虽然这种用法不常见 PS:如果作为static局部变量在函数内定义,它的生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。 3.static的第三个作用是默认初始化为0(static变量) 其实全局变量也具备这一属性,因为全局变量也存储在静态数据区。在静态数据区,内存中所有的字节默认值都是0x00,某些时候这一特点可以减少程序员的工作量。比如初始化一个稀疏矩阵,我们可以一个一个地把所有元素都置0,然后把不是0的几个元素赋值。如果定义成静态的,就省去了一开始置0的操作

Go Web 编程之 静态文件

↘锁芯ラ 提交于 2020-01-14 07:52:07
概述 在 Web 开发中,需要处理很多静态资源文件,如 css/js 和图片文件等。本文将介绍在 Go 语言中如何处理文件请求。 接下来,我们将介绍两种处理文件请求的方式:原始方式和 http.FileServer 方法。 原始方式 原始方式比较简单粗暴,直接读取文件,然后返回给客户端。 func main() { mux := http.NewServeMux() mux.HandleFunc("/static/", fileHandler) server := &http.Server { Addr: ":8080", Handler: mux, } if err := server.ListenAndServe(); err != nil { log.Fatal(err) } } 上面我们创建了一个文件处理器,将它挂载到路径 /static/ 上。一般地,静态文件的路径有一个共同的前缀,以便与其它路径区分。如这里的 /static/ ,还有一些常用的,例如 /public/ 等。 代码的其它部分与 程序模板 没什么不同,这里就不赘述了。 另外需要注意的是,这里的注册路径 /static/ 最后的 / 不能省略。我们在前面的文章 程序结构 中介绍过,如果请求的路径没有精确匹配的处理,会逐步去掉路径最后部分再次查找。 静态文件的请求路径一般为 /static/hello.html

C/C++程序内存的分配

梦想的初衷 提交于 2020-01-13 23:15:52
转自: https://blog.csdn.net/cherrydreamsover/article/details/81627855 转载出处: 学习笔记 一、一个C/C++编译的程序占用内存分为以下几个部分: 栈区(stack):由编译器自动分配与释放,存放为运行时函数分配的局部变量、函数参数、返回数据、返回地址等。其操作类似于数据结构中的栈。 堆区(heap):一般由程序员自动分配,如果程序员没有释放,程序结束时可能有OS回收。其分配类似于链表。 全局区(静态区static):存放全局变量、静态数据、常量。程序结束后由系统释放。全局区分为已初始化全局区(data)和未初始化全局区(bss)。 常量区(文字常量区):存放常量字符串,程序结束后有系统释放。 代码区:存放函数体(类成员函数和全局区)的二进制代码。 二、三种内存分配方式 从静态存储区分配 内存在程序编译的时候已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 在栈上创建 在执行函数时,函数内局部变量的存储单元可以在栈上创建,函数执行结束时,这些内存单元会自动被释放。 栈内存分配运算内置于处理器的指令集,效率高,但是分配的内存容量有限。 从堆上分配 亦称为动态内存分配。 程序在运行的时候使用malloc或者new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。

Java学习笔记

回眸只為那壹抹淺笑 提交于 2020-01-13 21:02:16
为什么JAVA文件中只能含有一个Public类?    java 程序是从一个 public 类的 main 函数开始执行的,(其实是main线程),就像 C 程序 是从 main() 函数开始执行一样。 只能有一个public 类是为了给类装载器提供方便。 一个 public 类只能定义在以它的类名为文件名的文件中。   java因强制要求类名(唯一的public类)和文件名统一,因此在引用其它类时无需显式声明。在编译时,编译器会根据类名去寻找同名文件。 java import package (不同与Python) import java.io.*;   package 的作用就是 c++ 的 namespace 的作用,防止名字相同的类产生冲突。Java 编译器在编译时,直接根据 package 指定的信息直接将生成的 class 文件生成到对应目录下。如 package aaa.bbb.ccc 编译器就将该 .java 文件下的各个类生成到 ./aaa/bbb/ccc/ 这个目录。   import 是为了简化使用 package 之后的实例化的代码。假设 ./aaa/bbb/ccc/ 下的 A 类,假如没有 import,实例化A类为: new aaa.bbb.ccc.A(),使用 import aaa.bbb.ccc.A 后,就可以直接使用 new A() 了

父类和子类的构造函数以及静态代码段的执行顺序问题

拟墨画扇 提交于 2020-01-12 02:41:25
class Person { { System . out . println ( "父类代码块" ) ; } int m = f ( ) ; int f ( ) { System . out . println ( "父类非静态变量" ) ; return 1 ; } static int n = g ( ) ; static { System . out . println ( "父类静态代码块" ) ; } static int g ( ) { System . out . println ( "父类静态变量" ) ; return 2 ; } Person ( ) { System . out . println ( "A Person." ) ; } } public class Chinese extends Person { { System . out . println ( "子类代码块" ) ; } int k = k ( ) ; int k ( ) { System . out . println ( "子类非静态变量" ) ; return 3 ; } static int i = i ( ) ; static int i ( ) { System . out . println ( "子类静态变量" ) ; return 4 ; } static {