自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 求助|985环境硕士转行it该如何准备校招

大家都说考上研究生就好了,所以我也就考上了,选了一个环境技术服务类方向的导师,日常就是开发环境信息系统,分析数据,不用待实验室做实验了,机缘巧合之下,我接触到了计算机,我真的喜欢上它了,我很享受写代码的感觉,感觉每解决一个问题都很有成就感。期间花了半年去b站大学学习编程,一年半时间跟着导师做项目,比较幸运的是,导师让我负责了一个新领域的环境信息系统web项目开发,我这就有了一个项目从需求分析到项目上线、运维的全过程参与的经验,期间还陆续参加了其他web项目。目前在准备校招,目标是互联网大厂后端开发岗。

2023-06-17 23:50:38 81

原创 JavaScript--学习笔记27(BOM)

六、小结浏览器对象模型(BOM)以 window 对象为依托,表示浏览器窗口以及页面可见区域。同时,window 对象还是 ECMAScript 中的 Global 对象,因而所有全局变量和函数都是它的属性,且所有原生的构造函数及其他函数也都存在于它的命名空间下。在使用框架时,每个框架都有自己的 window 对象以及所有原生构造函数及其他函数的副本。 每个框架都保存在 frames 集合中,可以通过位置或通过名称来访问。 有一些窗口指针,可以用来引用其他框架,包括父框架。 ...

2021-08-11 16:16:29 120

原创 JavaScript--学习笔记26(BOM)

四、screen 对象JavaScript 中有几个对象在编程中用处不大,而 screen 对象就是其中之一。screen 对象基本上只用来表明客户端的能力,其中包括浏览器窗口外部的显示器的信息,如像素宽度和高度等。每个浏览器中的 screen 对象都包含着各不相同的属性。可以用到screen对象里边的属性来调整浏览器窗口大小,使其占据屏幕的可用空间,例如:window.resizeTo(screen.availWidth, screen.availHeight);五、hist...

2021-08-11 16:09:26 85

原创 JavaScript--学习笔记25(BOM)

三、navigator 对象1、检测插件检测浏览器中是否安装了特定的插件是一种最常见的检测例程。对于非 IE 浏览器,可以使用 plugins 数组来达到这个目的。该数组中的每一项都包含下列属性。name:插件的名字。 description:插件的描述。 filename:插件的文件名。 length:插件所处理的 MIME 类型数量。一般来说,name 属性中会包含检测插件必需的所有信息,但有时候也不完全如此。在检测插件时,需要像下面这样循环...

2021-08-11 15:49:39 84

原创 JavaScript--学习笔记24(BOM)

二、location 对象location 是最有用的 BOM 对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。location 对象既是 window 对象的属性,也是document 对象的属性;换句话说,window.location 和 document.location 引用的是同一个对象。location 对象的用处不只表现在它保存着当前文档的信息,还表现在它将 URL 解析为独立的片段,让开发人员可以通过不同的属性访问这些片段。下表列出了 loca...

2021-08-11 14:44:50 43

原创 JavaScript--学习笔记23(BOM)

一、window 对象BOM 的核心对象是 window,它表示浏览器的一个实例。在浏览器中,window 对象有双重角色,它既是通过 JavaScript 访问浏览器窗口的一个接口,又是 ECMAScript 规定的 Global 对象。这意味着在网页中定义的任何一个对象、变量和函数,都以 window 作为其 Global 对象,因此有权访问 parseInt() 等方法。1、全局作用域由于 window 对象同时扮演着 ECMAScript 中 Glob...

2021-08-11 10:17:54 73

原创 JavaScript--学习笔记22(函数表达式)

五、小结在 JavaScript 编程中,函数表达式是一种非常有用的技术。使用函数表达式可以无须对函数命名, 从而实现动态编程。匿名函数,也称为拉姆达函数,是一种使用 JavaScript 函数的强大方式。以下总结了函数表达式的特点。函数表达式不同于函数声明。函数声明要求有名字,但函数表达式不需要。没有名字的函数表 达式也叫做匿名函数。 在无法确定如何引用函数的情况下,递归函数就会变得比较复杂; 递归函数应该始终使用 arguments.callee 来递归地调用自身,不要使...

2021-08-10 16:41:18 105

原创 JavaScript--学习笔记21(函数表达式)

四、私有变量严格来讲,JavaScript 中没有私有成员的概念;所有对象属性都是公有的。不过,倒是有一个私有变量的概念。任何在函数中定义的变量,都可以认为是私有变量,因为不能在函数的外部访问这些变量。私有变量包括函数的参数、局部变量和在函数内部定义的其他函数。来看下面的例子:function add(num1, num2){ var sum = num1 + num2; return sum; }在这个函数内部,有 3 个私有变量:num1、num2...

2021-08-10 16:21:08 96

原创 JavaScript--学习笔记20(函数表达式)

三、模仿块级作用域JavaScript 没有块级作用域的概念。这意味着在块语句中定义的变量,实际上是在包含函数中而非语句中创建的,来看下面的例子。function outputNumbers(count){ for (var i=0; i < count; i++){ alert(i); } alert(i); //计数}在 JavaScrip 中,变量 i 是定义在 ouputNumbers()的活动对象中的,因此从它有定义开始,就可以在函数内部随处访...

2021-08-10 09:32:21 52

原创 JavaScript--学习笔记20(函数表达式)

二、闭包闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数,仍以前面的 createComparisonFunction()函数为例,注意加粗的代码。function createComparisonFunction(propertyName) { return function(object1, object2){ var value1 = object1[propertyName]; //加粗部分 var valu...

2021-08-10 09:04:27 62

原创 JavaScript--学习笔记19(函数表达式)

一、递归递归函数是在一个函数通过名字调用自身的情况下构成的,如下所示。function factorial(num){ if (num <= 1){ return 1; } else { return num * factorial(num-1); } }这是一个经典的递归阶乘函数。虽然这个函数表面看来没什么问题,但下面的代码却可能导致它出错。var anotherFactorial = factorial; factorial = null; alert

2021-08-08 21:47:45 56

原创 JavaScript--学习笔记18(面向对象的程序设计)

四、小结ECMAScript 支持面向对象(OO)编程,但不使用类或者接口。对象可以在代码执行过程中创建和增强,因此具有动态性而非严格定义的实体。在没有类的情况下,可以采用下列模式创建对象。 工厂模式,使用简单的函数创建对象,为对象添加属性和方法,然后返回对象。这个模式后来 被构造函数模式所取代。 构造函数模式,可以创建自定义引用类型,可以像创建内置对象实例一样使用 new 操作符。不过,构造函数模式也有缺点,即它的每个成员都无法得到复用,包括函数。由于函数可以不局限于任何对象(...

2021-08-08 21:07:52 76

原创 JavaScript--学习笔记17(面向对象的程序设计)

三、继承许多 OO 语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。如前所述,由于函数没有签名,在 ECMAScript 中无法实现接口继承ECMAScript 只支持实现继承,而且其实现继承主要是依靠原型链来实现的1、原型链ECMAScript 中描述了原型链的概念,并将原型链作为实现继承的主要方法。其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。构造函数、原型和实例的关系:每个构造函数都有一...

2021-08-08 17:55:03 49

原创 JavaScript--学习笔记16(面向对象的程序设计)

二、创建对象

2021-08-05 16:11:38 59

原创 JavaScript--学习笔记15(面向对象的程序设计)

一、理解对象创建自定义对象的最简单方式就是创建一个 Object 的实例,然后再为它添加属性和方法,如下所示。var person = new Object(); person.name = "Nicholas"; person.age = 29; person.job = "Software Engineer"; person.sayName = function(){ alert(this.name); };上边的例子用对象字面量语法可以写成这样:var person

2021-08-04 10:47:56 54

原创 JavaScript--学习笔记14(引 用 类 型)

八、引用类型小结对象在 JavaScript 中被称为引用类型的值,而且有一些内置的引用类型可以用来创建特定的对象,现简要总结如下:引用类型与传统面向对象程序设计中的类相似,但实现不同; Object 是一个基础类型,其他所有类型都从 Object 继承了基本的行为; Array 类型是一组值的有序列表,同时还提供了操作和转换这些值的功能; Date 类型提供了有关日期和时间的信息,包括当前日期和时间以及相关的计算功能; RegExp 类型是 ECMAScript 支...

2021-08-04 09:29:51 62

原创 JavaScript--学习笔记13(引 用 类 型)

七、单体内置对象定义:由 ECMAScript 实现提供的、不依赖于宿主环境的对象,这些对 象在 ECMAScript 程序执行之前就已经存在了。有Object、Array、String、Global 和 Math。1、Global对象不属于任何其他对象的属性和方法,最终都是它的属性和方法。事实上,没有全局变量或全局函数;所有在全局作用域中定义的属性和函数,都是 Global 对象的属性。诸如 isNaN()、isFinite()、parseInt()以及 parseFloat(...

2021-08-03 22:10:19 59

原创 JavaScript--学习笔记12(引 用 类 型)

六、基本包装类型为了便于操作基本类型值,ECMAScript 还提供了 3 个特殊的引用类型:Boolean、Number 和 String。基本类型值不是对象,因而从逻辑上讲它们不应该有方法(尽管如我们所愿,它们确实有方法)。看如下代码:var s1 = "some text"; var s2 = s1.substring(2);而在读取模式中访问字符串时,后台都会自动完成下列处理。(1) 创建 String 类型的一个实例; (2) 在实例上调用指定的方法; (3) 销毁这个

2021-08-03 20:28:37 63

原创 JavaScript--学习笔记11(引 用 类 型)

五、Function 类型每个函数都是 Function 类型的实例,而且都与其他引用类型一样具有属性和方法。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。函数通常是使用函数声明语法定义的,如下面的例子所示。function sum (num1, num2) { return num1 + num2; }这与下面使用函数表达式定义函数的方式几乎相差无几。var sum = function(num1, num2){ return...

2021-08-02 21:58:26 61

原创 JavaScript--学习笔记10(引 用 类 型)

四、RegExp 类型 ECMAScript 通过 RegExp 类型来支持正则表达式。使用下面类似 Perl 的语法,就可以创建一个正则表达式。var expression = / pattern / flags ;其中的模式(pattern)部分可以是任何简单或复杂的正则表达式,可以包含字符类、限定符、分组、向前查找以及反向引用。每个正则表达式都可带有一或多个标志(flags),用以标明正则表达式的行为。正则表达式的匹配模式支持下列 3 个标志...

2021-08-01 21:10:36 69

原创 JavaScript--学习笔记9(引 用 类 型)

三、Date 类型Date 类型使用自 UTC(Coordinated Universal Time,国际协调时间)1970 年 1 月 1 日午夜(零时)开始经过的毫秒数来保存日期。要创建一个日期对象,使用 new 操作符和 Date 构造函数即可,如下所示。 var now = new Date();在调用 Date 构造函数而不传递参数的情况下,新创建的对象自动获得当前日期和时间。如果想根据特定的日期和时间创建日期对象,必须传...

2021-07-31 23:25:06 60

原创 JavaScript--学习笔记8(引 用 类 型)

二、Array 类型ECMAScript 数组与其他语言中的数组都是数据的有序列表,但与其他语言不同的是,ECMAScript 数组的每一项可以保存任何类型的数据。也就是说,可以用数组的第一个位置来保存字符串,用第二位置来保存数值,用第三个位置来保存对象,以此类推。而且,ECMAScript 数组的大小是可以动态调整的,即可以随着数据的添加自动增长以容纳新增数据。创建数组的基本方式有两种。第一种是使用 Array 构造函数,如下面的代码所示:var colors = new...

2021-07-31 22:01:05 60

原创 JavaScript--学习笔记7(引 用 类 型)

一、Object 类型创建 Object 实例的方式有两种。第一种是使用 new 操作符后跟 Object 构造函数,如下所示:var person = new Object(); person.name = "Nicholas"; person.age = 29;另一种方式是使用对象字面量表示法。对象字面量是对象定义的一种简写形式,目的在于简化创建包含大量属性的对象的过程。下面这个例子就使用了对象字面量语法定义了与前面那个例子中相同的 person 对象:var p...

2021-07-29 22:03:34 46

原创 JavaScript--学习笔记7(变量、作用域和内存问题)

三、垃圾收集JavaScript 具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程中使用的内存。1、标记清除JavaScript 中最常用的垃圾收集方式是标记清除除(mark-and-sweep)。当变量进入环境(例如,在函数中声明一个变量)时,就将这个变量标记为“进入环境”。从逻辑上讲,永远不能释放进入环境的变量所占用的内存,因为只要执行流进入相应的环境,就可能会用到它们。而当变量离开环境时,则将其标记为“离开环境”。垃圾收集器在运行的时候会给存储在内存中的所...

2021-07-29 20:34:34 77

原创 JavaScript--学习笔记6(变量、作用域和内存问题)

二、执行环境及作用域执行环境(execution context,为简单起见,有时也称为“环境”)是 JavaScript 中最为重要的一个概念。执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为。每个执行环境都有一个与之关联的变量对象(variable object),环境中定义的所有变量和函数都保存在这个对象中。虽然我们编写的代码无法访问这个对象,但解析器在处理数据时会在后台使用它。当代码在一个环境中执行时,会创建变量对象的一个作用域链(scop...

2021-07-29 16:45:19 52

原创 JavaScript--学习笔记5(变量、作用域和内存问题)

一、基本类型和引用类型的值ECMAScript 变量可能包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象。在将一个值赋给变量时,解析器必须确定这个值是基本类型值还是引用类型值。基本数据类型:Undefined、Null、Boolean、Number 和 String。这 5 种基本数据类型是按值访问的,因为可以操作保存在变量中的实际的值。 引用类型的值是保存在内存中的对象。与其他...

2021-07-29 15:13:52 53

原创 JavaScript--学习笔记4(基本概念)

七、函数ECMAScript 中的函数使用 function 关键字来声明,后跟一组参数以及函数体。函数的基本语法如下所示:function functionName(arg0, arg1,...,argN) { statements }以下是一个函数示例:function sayHi(name, message) { alert("Hello " + name + "," + message); }严格模式对函数有一些限制:不能把函数命名为 eva...

2021-07-29 11:08:09 34

原创 JavaScript--学习笔记3(基本概念)

六、语句1、if语句以下是 if 语句的语法:if (condition) statement1 else statement2if (i > 25) { alert("Greater than 25."); } else if (i < 0) { alert("Less than 0."); } else { alert("Between 0 and 25, inclusive."); }注:业界普遍推崇的最佳实践是始终使用代码块2、do-w

2021-07-28 22:52:17 96

原创 JavaScript--学习笔记2(基本概念)

五、操作符操作符:用于操作字符串、数字值、布尔值,甚至对象的操作符,包括算术操作符(如加号和减号)、位操作符、关系操作符和相等操作符。1、一元操作符1. 递增和递减操作符 执行前置递增和递减操作时,变量的值都是在语句被求值以前改变的。(在计算机科学领域,这种情况通常被称作副效应。)请看下面这个例子。var age = 29; var anotherAge = --age + 2; alert(age); // 输出 28 alert(anotherAge); ...

2021-07-28 21:28:32 142

原创 JavaScript--学习笔记1(基本概念)

一、语法1、区分大小写test 与 Test 分别表示两个不同变量2、标识符标识符就是指变量、函数、属性的名字,或者函数的参数。(驼峰命名法)规则:第一个字符必须是一个字母、下划线(_)或一个美元符号($); 其他字符可以是字母、下划线、美元符号或数字。注:不能把关键字、保留字、true、false 和 null 用作标识符。3、注释// 单行注释 /* */ 块注释4、严格模式在严格模式下,ECMAScript 3 中的一些不确定的行为将得到处理,而..

2021-07-26 10:13:40 49

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除