
Development and Practice
文章平均质量分 84
Development and Practice
Abel_01_xu
0 1
展开
-
去掉字符串首尾指定的字符或空格
【对用到的方法进行了解】var str = 'hdsjfi2423'; alert(str.indexOf('d'));//1 alert(str.indexOf('2'));//6 alert(str.substring(1));//dsjfi2423 alert(str.substring(1, 5));//dsjf...原创 2018-12-28 09:47:12 · 3701 阅读 · 0 评论 -
系统对话框
浏览器通过方法调用系统对话框向用户显示消息。系统对话框与浏览器中显示的网页没有关系,也不包含HTML,它们的外观由操作系统及浏览器设置决定,而不是由CSS决定。 值得注意的是,上述几个方法打开的对话框都是同步的、模态的,即显示这些对话框的时候,代码会停止执行,等待用户下一步操作。一、方法作用:接受一个字符串并将其显示给用户,显示的信息一般都是一些用户无法控制的警告信息,例如错误信息提示...原创 2018-03-25 21:22:39 · 1570 阅读 · 0 评论 -
变量、作用域以及内存问题
一、基本类型和引用类型的值1.1、基本类型 概念:简单的数据段 基本类型:数值型(number)、字符串型(string)、逻辑型(boolean)、无定义数据类型(undefined)、空值(null);在内存中占据固定的大小空间,被保存在栈内存中。1.2、引用类型 概念:多个值构成的对象,引用类型的值保存在内存中的对象中,引用类型的值是按引用访问的,...原创 2018-03-22 11:26:56 · 420 阅读 · 0 评论 -
BOM之navigator
【作用】 识别客户端浏览器。【示例】【检测插件】【示例:该方法适合于非IE浏览器】方法:hasPlugin();参数:要检测的插件名,要将传入的名称转换为小写形式检查IE中的插件比较特别,用到百度就好。但要主要,当我们要封装一个函数用于得到插件时,一定要先判断客户端浏览器。...原创 2018-03-25 23:41:27 · 350 阅读 · 0 评论 -
文档对象模型DOM之Node类型
【DOM】 文档对象模型是针对HTML和XML文档的一个API(应用程序编程接口),它描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的一部分。【Node类型】【节点层次】 DOM可以将任何HTML和XML文档描绘成一个由多层节点构成的结构。节点又分为不同类型,每种类型表示文档中不同的信息及标记,每个节点都拥有各自的特点、数据和方法,另外与其他节点也存在某种关系。...原创 2018-03-26 13:47:51 · 270 阅读 · 0 评论 -
Prototype.bind
一、控制给一个给定函数的作用域1.1 使用bind()方法<script> window.onload = function () { window.name = "window"; var data = { name: "testObject", ...翻译 2018-12-03 15:07:15 · 326 阅读 · 0 评论 -
JS数组
一、在数组中搜索特定的值<!DOCTYPE html><html><head> <meta charset="utf-8" /> <title></title></head><body> <script>原创 2018-11-12 18:09:06 · 226 阅读 · 0 评论 -
文档对象模型DOM之Document类型
【作用】 表示文档,document对象是HTMLDocument(继承自Document类型)的一个实例,表示整个HTML页面。通过这个文档对象,可以取得与页面有关的信息,且能操作页面的外观及其底层结构。【Document节点的特征】document.nodeName"#document"document.nodeType9document.nodeValuenulld...原创 2018-03-26 14:36:42 · 478 阅读 · 0 评论 -
单体内置对象
单体内置对象定义 由ECMAScript实现提供的、不依赖于宿主环境的对象,这些对象在ECMAScript程序执行之前就已经存在了。单体内置对象举例 Object、Array、String、Gloabal、Math等Global对象 这是一个极为特殊的对象,在某种意义上的“作用域最广”的对象,即不属于任何对象的属性和方法,最终都是它的的属性和方法。事实上,没有全局变量...原创 2018-03-23 09:50:42 · 233 阅读 · 0 评论 -
使用缓存计算来提高应用程序性能
问题: 如何减少重复复杂的和CPU消耗大的计算的需要,优化js应用程序和库。解决方案 使用中间函数memoization来缓存复杂计算的结果。举例<!DOCTYPE html><html><head> <meta charset="utf-8" /> <title></t..原创 2018-11-13 14:52:51 · 331 阅读 · 0 评论 -
间歇调用和超时调用
JS是单线程语言,但允许通过设置超时值(在指定的时间过后执行代码)和间歇时间值(每隔指定的时间就执行一次代码)来调度代码在特定的时刻执行。一、超时调用使用方法window对象的setTimeout()方法参数:“要执行的代码”,以毫秒表示的时间注释:”要执行的代码“可以是一个包含JS代码的字符串,也可以是一个函数【示例】<script type="text/javascript">...原创 2018-03-25 21:03:50 · 431 阅读 · 0 评论 -
BOM之location对象
【作用】 提供了与当前窗口中加载的文档有关的信息,可以将URL解析为独立的片段,以及一些导航功能。【特殊性】 location既是window对象的属性,亦是document对象的属性。【location对象的所有属性】 属性名 例子 ...原创 2018-03-25 23:23:14 · 228 阅读 · 0 评论 -
面向对象的程序设计
一、JS中对象的定义 无序属性的集合,其属性可以包含基本值、对象或者函数。换句话说,对象是一组没有特定顺序的值,对象的每个属性和方法都有一个名字,而每个名字都映射到一个值。此时,我们可以将对象想象成散列表,无非就是一组名值对,其中值可以是数据或函数。 js中的对象与C#或C++不同,后者是基于类和类的实例,而前者是基于原型继承的。所谓原型继承,即通过创建已有对象...原创 2018-03-25 13:56:17 · 243 阅读 · 0 评论 -
EventUtil
var EventUtil = { addHandler: function (element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false); } else if (element.at...翻译 2019-02-19 09:58:49 · 172 阅读 · 0 评论 -
DOM扩展
一、选择符API JS库中最常用的一项功能,就是根据CSS选择符选择与某个模式匹配的DOM元素。实际上,jQuery的核心就是通过CSS选择符查询DOM文档取得元素的引用,从而抛开了getElementById()和getElementsByTagName()。 选择符API的两个核心方法方法参数备注querySelector()接收一个CSS选择符这两个方法都可以通过Docum...翻译 2018-03-26 16:58:47 · 205 阅读 · 0 评论 -
函数之闭包
一、函数声明与函数表达式 使用函数声明时,都会给函数定义一个name属性,该属性用于得到函数指定的名字。且它的另一个重要特征是函数声明提升,简言之就是函数声明可以放在调用其函数语句的后面,而函数表达式不行,否则会出错。【示例】<script type="text/javascript"> function Person() { } ...原创 2018-03-25 15:49:02 · 270 阅读 · 0 评论 -
JS访问Web页面的元素
1. 访问特定元素 document.getElementById('id')2. 根据元素名访问 document.getElementsByTagName('img') 值得注意的是,上述返回的是一个类数组NodeList,他是一个特殊的集合,动态的集合,不是一个Array对象,因此不能对其使用数组方法,例如push()等。NodeList的唯一属性是l...翻译 2018-12-04 17:37:20 · 711 阅读 · 0 评论 -
JS简介
一、JS的出现 以往,当客户进行表单验证时,需要与服务器频繁的进行交互,由此加重了服务器的负担且使网页的加载变得缓慢。试想一下,假设当用户进行注册时,经过与服务器缓慢地交换数据之后,返回的却是注册过程当中出现的问题。可想而知,用户体验是极其糟糕的。如何改变这种尴尬的状况?对于简单的表达验证等是否能够先不与服务器进行数据交换? JS,一种客户端脚本语言,一种专为与网页交互面设计...翻译 2018-03-22 09:25:03 · 230 阅读 · 0 评论 -
BOM之history对象
history对象保保存着用户上网的历史记录,从窗口被打开的那一刻起。因为history是window对象的属性,因此每个浏览器窗口、每个标签页乃至每个框架,都有自己的history对象与特定的window对象。处于安全方面的考虑,开发人员无法得知用户浏览过的URL。不过,借由用户访问过的页面列表,同样可以在不知道实际URL的情况下实现后退和前进。 使用go()方法可以在用户的历史记...翻译 2018-06-29 10:20:05 · 300 阅读 · 0 评论 -
引用类型
引用类型的值(对象)是引用类型的一个实例。引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型有时候被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。 对象是某个特定引用类型的实例。新对象是使用new操作符后跟一个构造函数创建的。一、Object类型创建Object实例的方式<script type="text/javascript"> ...原创 2018-03-23 09:25:08 · 298 阅读 · 0 评论 -
浏览器对象模型BOM之window
BOM提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关。而BOM的核心对象是window,它表示浏览器的一个实例。在浏览器中,window对象有双重角色,它既是通过JS访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。这意味着在网页中定义的任何一个对象、变量和函数,都以window作为其Global对象。一、window对象1.1 全局作用域 ...原创 2018-03-25 20:44:43 · 258 阅读 · 0 评论 -
ECMAScript描述的内容
CMAScript描述的内容是这门语法的基本工作原理,描述的内容包括语法、操作符、数据类型、内置功能等用于构建复杂方案的基本概念。一、语法1.1、ECMAScript中的变量、函数、操作符等的一切都区分大小写。1.2、标识符:第一个必须是字母、下划线或美元符号。1.3、注释:// 1.4、严格模式:为JS定义一种不同的解析与执行模型。要在整个脚本中启用严格模式,在顶部使用*use st...原创 2018-03-22 10:44:40 · 1177 阅读 · 0 评论 -
js对象、基本类型和字面值
一、js字面值1. 概念 表示某种特定类型的一个值。2. 举例 一个引用的字符串(string)、浮点数(Number)、布尔值(Boolean) "this is a string example" 2.37 true/false二、js基本类型1.概念 特定的数据类型的一个实例2....翻译 2018-11-12 15:34:09 · 556 阅读 · 0 评论 -
创建更好的实体以及映射继承和聚合
一、使用可空类型定义更好的实体 当我们需要从数据库中读取数据时,常常需要进行DBNull或null检验,为了避免这种吃屎的感觉,我们可以考虑使用可空类型以避免空值检验。 那么,如何定义可空类型呢?值得注意的是,只有值类型能够被定义为可空类型,原因是引用类型本身就已经是可空类型了。ok,现在就可以扯一下可空类型的定义方式了: 1. 通过泛型类型Nullabel&...翻译 2018-04-02 17:06:32 · 236 阅读 · 0 评论 -
Linq与事务
【执行前】【代码】using System.Data.Linq;using System.Linq;using System.Transactions;namespace 事务{ class Program { static void Main(string[] args) { NewDataContext ...翻译 2018-04-04 14:45:39 · 1364 阅读 · 0 评论 -
Lambda表达式和闭包
一、Lambda表达式1.描述 Lambda表达式由一个左部(表示输入参数)、=>符号以及一个右部(表示需要求值的表达式)组成。【示例】using System;namespace 简单的Lambda表达式{ class Program { //Lambda表达式省略了delegate关键字、函数头、参数类型、方括号以及return关键字 ...原创 2018-03-19 15:45:57 · 768 阅读 · 0 评论 -
使用LINQ查询关系型数据库
一、概述LINQ支持自定义提供者,这些提供者将LINQ表达式树转换为数据源所支持的语言,值得关注的是LINQ可以通过IQueryable接口访问ADO.NET对象。LINQ可以直接对DataSet进行查询,也可以用DataContext和Table(实现了ITable、IQueryable、IEnumerable)。最基本的工作是定义一个对象关系映射(ORM),用于将C#实体类与数据库中的表映射起...原创 2018-04-02 10:06:47 · 2509 阅读 · 0 评论 -
聚合运算
一、聚合 聚合运算就是从一组值中计算出一个值。Aggregate扩展方法允许实现自定义的聚合运算。【示例】合并、求平均值、最大值、最小值using System;using System.Collections.Generic;using System.Linq;namespace 使用Aggregate扩展方法实现的自定义聚合{ class Program {...原创 2018-03-20 13:51:37 · 5364 阅读 · 0 评论 -
匿名类型
一、匿名类型概述 匿名类型用‘var’来表示,其好处就是开发人员不需要指定具体的类型,C#将会根据运算符右侧表达式所定义的给出数据类型。换言之,该匿名类型为何种类型交由C#中间编译器来分析,而编译器给出的类型可能是我们熟悉的基础类型,也有可能是我们自定义的类型,甚至是我们未曾定义过的类型。当然,对于简单的类型定义,是无法体现出使用var的优越性的,它的最大价值在于可用它来创建单次使用的元...原创 2018-03-18 17:49:34 · 697 阅读 · 0 评论 -
Select和SelectMany
一、带有函数调用功能的选择using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 带有函数调用功能的选择{ class Program { static void Main(string[] args) { ...翻译 2018-03-29 10:12:46 · 1553 阅读 · 0 评论 -
复合类型初始化
一、实现能够通过命名类型进行复合类型初始化的类 对象初始化器语法能够通过一种简洁的标记法来创建对象并为其字段赋值,而程序员无需为此定义不同的构造函数。 通过命名实例完成对象初始化的基本语法是,使用普通对象声明(或匿名类型声明)、new关键字以及运算符左侧的类型,另外,需要使用参数名、赋值运算符以及值,而不是圆括号和参数值。 命名实例初始化的一般语法如下: ...原创 2018-03-19 10:10:13 · 553 阅读 · 0 评论 -
联接查询结果
一、使用多个from子句 当使用多个from子句时,不自然的就会想到需要使用join等连接符,然而这需要看它们之间是否存在相互关系。相互关系是指关系中用以说明一个序列如何与另一个序列相关联的部分,此时,可以通过join子句中的equals关键字,或通过不等式以及多个表达式来实现。 接下来举一个示例,用于说明,当我们使用多个from子句时,由于没有相互关系,故无须使用join【示例】us...原创 2018-03-29 15:02:04 · 389 阅读 · 0 评论 -
标准查询运算符
一、概述 LINQ是.NET的一个扩展,是语言集成查询。LINQ查询会发出为对扩展方法和泛型委托的调用,而这些扩展方法和泛型委托都是.NET Framework不可或缺的组成部分。 LINQ查询均开始于关键字from。那么为什么开头的不是像SQL中的select开头呢?这个嘛,我们可以从考虑投影开始。在select子句中,可以定义新类型,并根据源类型元素了解初始化这种新类型的命...原创 2018-03-20 08:59:32 · 459 阅读 · 0 评论 -
扩展方法和分部方法
一、概述 从概念上讲,扩展方法就是装饰模式(Decorator,一种结构型模式)的一种实现,装饰模式实际上就是利用集成和复合动态添加行为。 当不能给现有类添加行为时,就可以考虑扩展方法,其作用就相当于这个方法属于这个类一样。例如,当我们不能继承一个密封类来为其添加行为时,同样,一些基础类型也是无法继承的。显然,扩展方法提供了一种无需集成的添加行为的方式。 扩展方法允许定义...原创 2018-03-19 13:49:59 · 448 阅读 · 0 评论 -
对查询出的数据进行排序和分组
一、对信息进行排序 通过orderby关键字,LINQ可以实现升序和降序排列。LINQ还支持次要排序(也可以按升序和降序排列),只要将需要排序的项用逗号隔开即可。 在一个集合上调用Reverse扩展方法即可翻转该集合中的元素。 .NET 3.5中引入的扩展方法:OrderBy、OrderByDescending、ThenBy、ThenByDescending以及Rever...原创 2018-03-20 10:32:10 · 2773 阅读 · 0 评论 -
调用存储过程以及用户自定义函数来更新匿名关系数据
【示例】using System;using System.Data.Linq;using System.Data.Linq.Mapping;using System.Reflection;using 通过linq查询关联数据库表;namespace 更新匿名关系型数据{ public class DataContextBase:DataContext { ...翻译 2018-04-04 14:03:58 · 298 阅读 · 0 评论 -
集合运算
一、Distinct Distinct用于测试集合中的元素并忽略重复值。Dintinct既可以在一个序列上调用,也可以在一个实现了IEquallity-Comparer的对象上调用。【示例】1.1 定义实体类using System;namespace 通过对象的字段找出非重复对象{ /// <summary> /// 实体类 /// </s...原创 2018-03-20 14:23:35 · 726 阅读 · 0 评论 -
ASP.NET MVC简介
ASP.NET MVC是一种构建web应用程序的框架,它将一般的MVC模式应用于ASP.NET 框架。那么,如何看待asp.net框架和asp.net mvc之间的关系呢?在asp.net 1.0发布时,asp.net和web from被人们看成是同一事物,尽管当时(2002)asp.net已经支持两层抽象,即ui层(web from层,由服务器控件和ViewState等组成);web层(管道程序...原创 2019-05-03 21:57:32 · 781 阅读 · 0 评论 -
控制器
控制器的角色 MVC模式中的控制器(Controller)主要负责响应用户的输入,并在响应时修改模型(Model)。通过这种方式,MVC模式中的控制器主要关注的是应用程序流、输入数据的处理,以及对相关视图输出数据的提供。控制器主要负责接收和解释输入,并更新任何需要的数据类,然后把通知用户进行的修改和程序更新。 过去的web服务器支持访问以静态文件存储在磁盘上的h...原创 2019-06-10 22:29:48 · 910 阅读 · 0 评论 -
模型
MVC Model MVC中的模型,可以理解为那些发送信息到数据库,执行业务计算并在视图中渲染的模型对象。换句话说,这些对象代表着应用程序关注的域,模型就是要显示、保存、创建、更新和删除的对象。 那么创建MVC Model我们需要注意什么呢?MVC模板提供了启动应用程序需要的所有项:一个基本的布局视图、一个带有用户登录链接的默认首页、一个初始的样式表和一个相对较空的Model...翻译 2019-06-12 22:29:01 · 236 阅读 · 0 评论