作用域

Angular directive 实例详解

て烟熏妆下的殇ゞ 提交于 2020-04-04 09:07:36
准备代码,会在实例中用到 var app = angular.module('app', []); angular指令定义大致如下 app.directive('directiveName', function() { return { // config } }) 其中return返回的配置对象包含很多参数,如下一一说明。 1. restrict 值为字符串,可选参数,指明指令在DOM中以什么形式被声明 <!-- E (element) --> <directiveName></directiveName> <!-- A (attribute) --> <div directiveName="expression"></div> <!-- C (class) --> <div class="directiveName"></div> <!-- M(comment) --> <!--directive:directiveName expression--> 默认值为 restrict: 'EA' ,表示可以在DOM里面可以用元素形式和属性形式被声明。一般来说,如果你想创建一个自己模板的组件时,则使用元素形式,但是仅仅是为已有元素添加功能的话,就使用属性名。 如果想要支持IE8,则最好使用属性和类形式来定义,另外从angular 1.3.X开始,已经放弃支持IE8了。 2.

02函数-01-函数的定义和调用

♀尐吖头ヾ 提交于 2020-04-03 01:21:46
1、定义函数 function abs(x) { if (x >= 0) { return x; } else { return -x; } } 7 1 function abs(x) { 2 if (x >= 0) { 3 return x; 4 } else { 5 return -x; 6 } 7 } 如果没有return,函数执行完毕也会返回结果,不过结果是undefined。 由于在JS的世界中,函数也是一个对象,所以上述定义的 函数实际上也是一个对象 ,而 函数名则可视为指向该函数的变量 。 所以上面的函数定义等价于: var abs = function (x) { if (x >= 0) { return x; } else { return -x; } }; 7 1 var abs = function (x) { 2 if (x >= 0) { 3 return x; 4 } else { 5 return -x; 6 } 7 }; 2、调用函数 JS的函数允许任意个,也不影响调用,接以上的abs函数: //比定义的参数多 abs(10, 'blablabla'); // 返回10 abs(-9, 'haha', 'hehe', null); // 返回9 //比定义的参数少 abs(); // 返回NaN --> 此时abs(x

JS作用域

主宰稳场 提交于 2020-04-02 23:29:25
<script> // 1.JavaScript作用域 : 就是代码名字(变量)在某个范围内起作用和效果 目的是为了提高程序的可靠性更重要的是减少命名冲突 // 2. js的作用域(es6)之前 : 全局作用域 局部作用域 // 3. 全局作用域: 整个script标签 或者是一个单独的js文件 var num = 10; var num = 30; console.log(num); // 4. 局部作用域(函数作用域) 在函数内部就是局部作用域 这个代码的名字只在函数内部起效果和作用 function fn() { // 局部作用域 var num = 20; console.log(num); } fn(); </script> <script> // 变量的作用域: 根据作用域的不同我们变量分为全局变量和局部变量 // 1. 全局变量: 在全局作用域下的变量 在全局下都可以使用 // 注意 如果在函数内部 没有声明直接赋值的变量也属于全局变量 var num = 10; // num就是一个全局变量 console.log(num); function fn() { console.log(num); } fn(); // console.log(aru); // 2. 局部变量 在局部作用域下的变量 后者在函数内部的变量就是 局部变量 // 注意:

html/css/ javascript笔记

情到浓时终转凉″ 提交于 2020-04-01 06:33:12
1.JavaScript 中call()方法和apply()方法的作用相同,他们的区别在于接收参数的方式不同。对于call(),第一个参数是this值没有变化,变化的是其余参数都直接传递给函数。(在使用call()方法时,传递给函数的参数必须逐个列举出来。使用apply()时,传递给函数的是参数数组。 call 、bind 、 apply 这三个函数的第一个参数都是 this 的指向对象,第二个参数差别就来了: call的参数是直接放进去的,第二第三第n个参数全都用逗号分隔,直接放到后面 obj.myFun.call(db,'成都', ... ,'string' ); apply的所有参数都必须放在一个数组里面传进去 obj.myFun.apply(db,['成都', ..., 'string' ]); bind除了返回是函数以外,它 的参数和call 一样。 当然,三者的参数不限定是string类型,允许是各种类型,包括函数 、 object 等等! 2. Ajax 和 Flash 1.Ajax的优势:1.可搜索性 2.开放性 3.费用 4.易用性 5.易于开发。 2.Flash的优势:1.多媒体处理 2.兼容性 3.矢量图形 4.客户端资源调度 3.Ajax的劣势:1.它可能破坏浏览器的后退功能 2.使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中

js作用域

被刻印的时光 ゝ 提交于 2020-04-01 06:12:11
1.js的作用域是有函数划分的,而不是块儿 var too="test"; if(true){//这是在块中的定义,此时还是全局变量 var too="new test"; } alert(too=="new test");//return true; function test() { var too="old test";//这是在函数中的定义,此时是局部变量 } test(); alert(too=="new test");//return true;too并没有改变 2.所有属于全局作用域的变量都是window对象的属性 上面例子中 第一行的 too就是等于 window.too 看下面的例子 function test() { too="test"; } test(); alert(window.too="test"); 是不是很奇怪,上面例子中函数中的too是局部变量,在这里就是全局变量了 注意下两个例子的区别,一个通过显示声明 var too 一个隐示声明too="test"; 也就是说没有显示定义的变量,它就是全局变量,虽然它可能只能在这个函数内使用。 作用域(scope)是JavaScript语言的基石之一,在构建复杂程序时也可能是最令我头痛的东西。记不清多少次在函数之间传递控制后忘记 this关键字引用的究竟是哪个对象,甚至,我经常以各种不同的混乱方式来曲线救国

Javascript 严格模式详解

一世执手 提交于 2020-03-31 23:38:53
一、概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式: "严格模式" (strict mode)。顾名思义,这种模式使得Javascript在更严格的条件下运行。 设立"严格模式"的目的,主要有以下几个:   - 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;   - 消除代码运行的一些不安全之处,保证代码运行的安全;   - 提高编译器效率,增加运行速度;   - 为未来新版本的Javascript做好铺垫。 "严格模式"体现了Javascript更合理、更安全、更严谨的发展方向,包括IE 10在内的主流浏览器,都已经 支持 它,许多大项目已经开始全面拥抱它。 另一方面,同样的代码,在"严格模式"中,可能会有不一样的运行结果;一些在"正常模式"下可以运行的语句,在"严格模式"下将不能运行。掌握这些内容,有助于更细致深入地理解Javascript,让你变成一个更好的程序员。 本文将对"严格模式"做详细介绍。 二、进入标志 进入"严格模式"的标志,是下面这行语句:   "use strict"; 老版本的浏览器会把它当作一行普通字符串,加以忽略。 三、如何调用 "严格模式"有两种调用方法,适用于不同的场合。 3.1 针对整个脚本文件 将"use strict"放在脚本文件的第一行,则整个脚本都将以"严格模式"运行。如果这行语句不在第一行

c++学习笔记

社会主义新天地 提交于 2020-03-30 21:50:51
1 函数 1.1 内联函数 inline bool isNumber ( char c ) { return ( c == '1' ); } int main ( int argc , _TCHAR * argv []) { //cout<<" Hello World! \n"; //printf("Hello World!"); if ( isNumber ( '1' )) printf ( "It is a Number" ); else printf ( "It isn't a Number" ); return 0; } 这种用 inline 定义的函数就是内联函数。 内联函数的出现是为了解决效率问题; 内联函数的函数体一般在 1 - 5 行之间; 内联函数内部不允许有控制语句,如果有控制语句,则它只会被当作一般的函数。 2 程序结构 2.1 外部存储类型 默认的函数声明或定义总是 extern 的; 带 extern 的是变量声明,不是变量实现; 2.2 静态函数 在 c++ 中所谓的静态函数和 c #中的是不同的,函数之所以声明为 static ,是为了和 extern 不同,就是让该函数只在这个文件内有效。 2.3 作用域 主要可以分为以下几种: l 局部作用域; void fn () { if ( int i == 5) //i 的作用域自此开始 i = 2* i

angularjs 指令—— 绑定策略(@、=、&)

十年热恋 提交于 2020-03-30 06:22:46
angularjs 指令—— 绑定策略(@、=、&) 引入主题背景:angular 的指令配置中的template可以直接使用硬编码写相应的代码,不过也可以根据变量,进行动态更新。那么需要用到那些变量,因用法的不同,所以需要设置合适的绑定策略。 一、@ 绑定策略 @ 绑定策略,它的作用就是能把指令配置的独立Scope下变量的值等于根据@绑定的指令属性的值。(指令属性的值可以使用表达式,但是得出来的值一定是字符串。) 1、上代码: html代码 <!DOCTYPE html> <html lang = "en" ng-app = "myApp" > <head> <meta charset = "UTF-8" > <title> myDirective </title> </head> <body> <input type = "text" ng-model = "myUrl" > <div my-directive my-url = "{{myUrl}}" my-link-text = "click me" ></div> ① </body> <script src = "../../common/angular-1.0.1.min.js" ></script> <script src = "./demo1.js" ></script> </html> js代码 angular .

Microsoft Sync Framework同步数据库 4:如何为数据库同步筛选数据

断了今生、忘了曾经 提交于 2020-03-28 18:41:26
如何为数据库同步筛选数据 了解筛选器 我们知道,在为数据库准备同步时,我们需要定义同步作用域来描述同步的数据范围,它是对进行同步的对象的一种逻辑分组。对于数据库同步,一个同步作用域通常是一组数据表。但有时候,我们希望在同步作用域的基础上对同步的数据进行筛选,比如,按照销售人员同步订单数据。这个时候,我们就可以使用Sync Framework的筛选器机制来对同步数据进行筛选。 Sync Framework 可以创建两种类型的筛选器:“静态筛选器”和“基于参数的筛选器”。 静态筛选器定义为同步作用域的一部分,并且定义筛选字段的值。静态筛选器在源数据库使用的存储过程中进行编码,以便为作用域枚举变更。定义了某一静态筛选器后,就不能对其进行更改。在本篇的设置数据库一节中,我们已经定义了一个静态筛选器的完整示例。 基于参数的筛选器由一个筛选子句以及映射到同步作用域中表的列的一组参数定义。基于参数的筛选器在两个阶段中定义。第一个阶段定义筛选子句和参数,并且建立与该筛选器相关联的作用域的说明。在这个阶段中,筛选器和作用域仅采用模板格式。第二个阶段为筛选器设置参数值并且根据模板创建同步作用域。在此阶段中创建的作用域是目标提供程序用来与源数据库同步的作用域。用于基于参数的筛选的源数据库可以是 SQL Server 或 SQL Azure 数据库,目标数据库可以是 SQL Server、SQL

Microsoft Sync Framework同步数据库 3:针对同步进行设置

瘦欲@ 提交于 2020-03-28 18:39:16
针对同步进行设置 在可以使用 Sync Framework 同步数据库之前,需要通过称为“设置(provisioning)”的流程配置它。所需的设置类型因数据库类型而异。本篇提供有关设置 SQL Server 和 SQL Server Compact 数据库的背景信息、操作步骤以及完整代码示例。 了解设置和取消设置(Provision and Deprovision) 为同步配置数据库的第一步是定义一个作用域,该作用域标识要同步的内容。在您定义同步作用域后,就可以使用该同步作用域来设置数据库,以便创建变更跟踪和元数据管理基础结构,该基础结构由元数据表、触发器和存储过程构成。在设置了某一数据库后,可以通过使用某一提供程序(例如 SqlSyncProvider)来表示该数据库和使用 SyncOrchestrator 对象管理同步会话并连接到其他同步提供程序以实现数据同步。为同步设置数据库是有别于与其他数据库同步的单独任务,这部分代码通常位于单独的应用程序中。 设置(Provision) 在设置(Provision)数据库时,通常会在数据库中创建以下某些或全部元素: 在同步作用域中包含的基表。 作用域中每个基表的一个跟踪表。该跟踪表跟踪对关联基表进行的变更。 在直接对基表进行更改时更新跟踪表的触发器。 用于同步操作的存储过程,例如枚举变更、插入变更、更新数据或删除数据