变量

从0开始探究vue-组件化-组件之间传值

≡放荡痞女 提交于 2020-03-01 19:58:39
理解 Vue中有个非常重要的核心思想,就是组件化,组件化是为了代码复用 什么是组件化 组件化,就像一个电脑主机里的主板,有内存条的插口,有硬盘,光驱等等的插口,我们的项目,就像一个电脑主机,通过各种组件化的模块(硬盘、内存等),来拼合成一个完整的电脑。 如图,每一个块都是一个组件,由许许多多的组件拼合而成,可以无限的嵌套下去 组件化的好处 模块复用,提高效率,让重复的代码只写一遍。 预留个性化设置,可以保证模块,既通用,又可变。 提高可维护性,如果一个项目多个页面使用了同一个组件(例如消息弹框),如果修改弹框样式,只需要修改这个模块即可。 写法 cli模式 组件部分 <template> <div></div> </template> <script> export default { name:"myAlert" }; <style></style> 使用者部分 <template> <div> <myAlert></myAlert> <!-- 实例中使用组件 --> </div> </template> <script> import myAlert from '@/components/alert.vue';//导入自己写的组件 export default { components:{myAlert}//在这个vue实例中注册组件 }; </script> <style><

Java基础知识

时光怂恿深爱的人放手 提交于 2020-03-01 19:38:43
1 面向对象和面向过程的区别 面向过程:   优点:性能高。直接编译。   适用:单片机、嵌入式开发、Linux/Unix 面向对象:   特点:封装、继承、多态   优点:易维护、易复用、易扩展、可移植(数据类型、跨平台)   缺点:性能低。调用类时需要实例化、开销大、消耗资源。其次是半编译语言,最终的执行代码并不是可以被直接被CPU执行的二进制机械码。 2 java语言的特点   a. 面向对象(封装、继承、多态)   b. 平台无关性:由JVM实现,“一次编译,随处运行”   c. 支持多线程、网络编程等功能;   d. 编译和解释并行:解释是运行时翻译成机器代码     解释:JVM类加载器加载字节码文件,通过解释器逐行解释执行,执行速度较慢。     编译:有些代码块和方法经常被调用(热点代码)。         JIT(Just In Time)编译器属于运行时编译。第一次编译后,会将字节码对应的机器代码保存下来,下次可以直接使用。执行效率高。编译的是热点代码。 3 JVM、JDK、JRE   JVM是运行java字节码(.class文件)的虚拟机。实现跨平台。    JDK:java开发工具。可以创建和编译程序。   JRE:java运行时环境。 4 Java和C++的区别   共同:都是面向对象的语言   访问内存:c++支持指针访问内存   继承:c+

原来闭包并没那么难理解

帅比萌擦擦* 提交于 2020-03-01 19:09:44
函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 我们来实现一个对 Array 的求和。通常情况下,求和的函数是这样定义的: function sum ( arr ) { return arr . reduce ( function ( x , y ) { return x + y ; } ) ; } sum ( [ 1 , 2 , 3 , 4 , 5 ] ) ; // 15 但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可以不返回求和的结果,而是返回求和的函数! function lazy_sum ( arr ) { var sum = function ( ) { return arr . reduce ( function ( x , y ) { return x + y ; } ) ; } return sum ; } 当我们调用 lazy_sum ()时,返回的并不是求和结果,而是求和函数: var f = lazy_sum ( [ 1 , 2 , 3 , 4 , 5 ] ) ; // function sum() 调用函数 f 时,才真正计算求和的结果: f ( ) ; // 15 在这个例子中,我们在函数 lazy_sum 中又定义了函数 sum ,并且,内部函数 sum 可以引用外部函数 lazy_sum

JDK开发环境搭建及环境变量配置(win10)

只谈情不闲聊 提交于 2020-03-01 19:04:13
一.安装JDK开发环境 1.网址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 然后下载系统对应的版本,我下载的为Windows x64 2.打开下载下来的可执行文件 点击下一步 3.安装位置自行设置,当提示安装JRE时看需求(以后可能会用到),如果需要可一路点击下一步。 二.配置环境变量 1.右键单击“此电脑->属性->高级系统设置->环境变量” 2.在“系统变量”栏下单击“新建”。 新建->变量名: JAVA_HOME 变量值: C:\Program Files\Java\jdk1.8.0_181 (即JDK的安装路径) “系统变量”栏里找到 Path ,选中后单击编辑 然后单击新建,填入 %JAVA_HOME%\bin 再新建,填入 %JAVA_HOME%\jre\bin 3.新建->变量名: CLASSPATH 变量值: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 三 通过控制台命令验证配置是否成功 win+R 打开运行,输入 cmd ,打开控制台 在控制台分别输入 java 、 javac 、 java -version 命令,出现如下所示即为配置成功 java

一个案例说出python的十余个语法知识点

雨燕双飞 提交于 2020-03-01 18:52:19
典型代码: 1、注释 2、函数调用 3、带参数的函数返回值 4、无返回值的return语句 5、字典变量的赋值和使用 6、txt文件读取 7、文件变量 8、异常处理 9、输出结果 10、列表排序 11、字符串分割 12、空字符处理 13、判断 14、循环 这是一个典型案例代码 def sanitize(time_string): #函数定义及实参传递 if '-' in time_string: #判断一个字符串中是否存在'-'支付;判断语句 splitter = '-' elif ':' in time_string: #elif语句 splitter = ':' else: #else语句 return(time_string) #带参数的函数返回语句 (mins,secs) = time_string.split(splitter) #多个变量的自动赋值,字符串分割 return(mins+'.'+secs) #参数计算后的函数返回语句 def get_coach_data(filename): try: #先尝试 with open(filename) as f: #打开文件 data = f.readline() #按行读取文件内容并送至变量data中 templ = data.strip().split(',') #取消空字符,字符串分割 return({'name'

JAVAEE课程作业

天大地大妈咪最大 提交于 2020-03-01 17:35:06
本地安装JAVA环境 下载JDK 先从JDK官网下载JDK,我自己下载的是JDK1.8.0 JDK下载地址 下载好JDK后要配置好环境变量,一共三个,分别是: 变量名:JAVA_HOME 变量值:C:\Program Files (x86)\Java\jdk1.8.0_91 // 要根据自己的实际路径配置 变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; //记得前面有个"." 变量名:Path 变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 我们可以在cmd下面验证一下是否安装成功 输入 java -version、java、javac等,出现以下信息,说明环境变量配置成功; 本地安装Tomcat 下载tomcat 可以下方官网上下载自己需要的版本,我下载的是tomcat 9.0。 TOMCAT 下载地址 配置环境变量 下载之后需要配置环境变量,也一共有三个。 变量名:CATALINA_BASE 变量值:tomcat文件夹位置。例如:D:\apache-tomcat-9.0.29 变量名:CATALINA_HOME 变量值:tomcat文件夹位置。例如:D:\apache-tomcat-9.0.29 最后在PATH 中添加 %CATALINA_HOME%

函数的作用域

五迷三道 提交于 2020-03-01 16:32:04
什么是作用域?: 存储和访问变量,是任何一种编程语言最基本的功能之一,变量存在哪里?程序需要时如何找到它?这些问题需要一套良好的规则来规范,这套规则,就成为作用域。 那又分为 局部作用域 和 全局作用域 函数的作用域: JS划分作用域也是用{ }来划分的,但是js中有效的限定作用域只有函数的{ }。 有时候我们常常会遇到类似这样的引用错误,那么我们可以往两个方面去考虑:1、看是不是变量名称拼写错误了。                                    2、如果变量每拼写错误,再看其作用域是否错域了。 为此我们来详述以下有关函数作用域的问题: 函数的变量论作用域来分的话,可以分为 局部变量 、 全局变量 两种。 局部变量:见名如意,局部变量就是在函数内部声明的变量,作用域只是这个函数的部分。    <script> funcaiton fun(){ var a=10; //a只可以在这个函数内部被调用 } </script> 全局变量:没有被任何函数包裹,在任何地方都可以使用。 <script> var a = 10; funcation fun(){ var b = a;//这里b为10; } </script> 伪全局变量: function foo(){ a = 10;//声明变量不使用var console.log(a); } foo(); console

JAVA static、final、interface、abstract

◇◆丶佛笑我妖孽 提交于 2020-03-01 16:27:05
1、 static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块。 被static修饰的成员变量和成员方法独立于该类的任何对象 ; 使用公共内存空间。 用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象时,不生成static变量的副本,而是类的所有实例共享同一个static变量。 在外部调用静态方法时,可使用“类名.方法名”也可以使用“对象名。方法名”的方式,即调用静态方法可以无需创建对象。 static变量前可以有private修饰,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用),但是不能在其他类中通过类名来直接引用,这一点很重要。实际上你需要搞明白,private是访问权限限定, static表示不要实例化就可以使用 ,这样就容易理解多了。static前面加上其它访问权限关键字的效果也以此类推。 static修饰的成员变量和成员方法习惯上称为静态变量和静态方法,可以直接通过类名来访问,访问语法为: 类名.静态方法名(参数列表...) 类名.静态变量名 用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块(用处非常大,呵呵)。 1、static变量 按照是否静态的对类成员变量进行分类可分两种

CCF 模板生成系统 100分

£可爱£侵袭症+ 提交于 2020-03-01 15:49:59
问题描述   成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的。例如,对于展示用户信息的页面,当用户为 Tom 时,网页的源代码是   而当用户为 Jerry 时,网页的源代码是   这样的例子在包含动态内容的网站中还有很多。为了简化生成网页的工作,成成觉得他需要引入一套模板生成系统。   模板是包含特殊标记的文本。成成用到的模板只包含一种特殊标记,格式为 {{ VAR }},其中 VAR 是一个变量。该标记在模板生成时会被变量 VAR 的值所替代。例如,如果变量 name = "Tom",则 {{ name }} 会生成 Tom。具体的规则如下:   ·变量名由大小写字母、数字和下划线 (_) 构成,且第一个字符不是数字,长度不超过 16 个字符。   ·变量名是大小写敏感的,Name 和 name 是两个不同的变量。   ·变量的值是字符串。   ·如果标记中的变量没有定义,则生成空串,相当于把标记从模板中删除。   ·模板不递归生成。也就是说,如果变量的值中包含形如 {{ VAR }} 的内容,不再做进一步的替换。 输入格式   输入的第一行包含两个整数 m , n ,分别表示模板的行数和模板生成时给出的变量个数。   接下来 m 行,每行是一个字符串,表示模板。   接下来 n 行,每行表示一个变量和它的值

剖析含有静态成员变量类的内存分布

依然范特西╮ 提交于 2020-03-01 15:39:21
如题所诉,对于含有静态成员变量的类其内存分布应该怎样呢?首先,我们知道静态成员变量任何对象都可以访问,但是它只存在一份,被所以对象共享。但是不属于对象本身,它在对象外构造。举例如下: #include <iostream> using namespace std; class Point3d { public: virtual ~Point3d(){} void print() { printf("&Point3d::x = %p\n", &Point3d::x);//打印在类Point3d中成员x的偏移值。 printf("&Point3d::y = %p\n", &Point3d::y);//打印在类Point3d中成员x的偏移值。 printf("&Point3d::z = %p\n", &Point3d::z);//打印在类Point3d中成员x的偏移值。 } protected: static Point3d origin; float x, y, z; }; int main() { Point3d s; s.print(); cout << sizeof(s) << endl;//打印对象的大小。 return 0; } 大家分析一下就知道,结果是:&Point3d::x = 00000008 &Point3d::y = 0000000c &Point3d::z =