欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学习笔记

程序员文章站 2022-07-11 09:52:20
...

全局作用域

在代码中任何地方都能访问到的对象拥有全局作用域,一般来说以下几种情形拥有全局作用域:

(1)最外层函数和在最外层函数外面定义的变量拥有全局作用域
(2)所有末定义直接赋值的变量自动声明为拥有全局作用域
(3)所有window对象的属性拥有全局作用域

作用域链

该内部属性包含了函数被创建的作用域中对象的集合,这个集合被称为函数的作用域链,它决定了哪些数据能被函数访问。

var a = 1;
 //全局作用域,只能访问全局变量,也就是a变量
 function A(){
var b = 2;
//A函数的局部作用域,可以访问到a,b变量,但是访问不到c变量
function B(){
//B函数局部作用域,可以访问到a,b,c变量
var c = 3;
}
}

function A(){
var arr = [];
function a(){};
function b(){};
return;
}
这样,我们本来需要三个全局变量的问题,就变成了只需要一个

Angular MVC

1. 声明一个ng的应用程序 ngApp

    <html ng-app></html> <ng-app></>

2. 创建一个自定义的模块:angular.module("模块名",[依赖列表])

     angular.module.("myModule",["ng"]) angular.module() 

3. 在应用中注册自定义模块 ng-app="模块名"

    <html ng-app="myModule"></html> 

4. 在模块中声明Controller

      angular.module.("myModule",["ng"]).controller("myContro",function(){

        

      }); 

5.  在view中指定Controller对象的作用范围-调用控制器创建函数
         
     <div ng-controller="myContro">
        {{name}}
     </div>


6. 在Controller中声明Modal数据

     angular.module.("myModule",["ng"]).controller("myContro",function($scope){

         #$scope.name = "gg";

      });

AngularJS 双向数据绑定

方向1

Model绑定到View,此后不论何时只要Model发生改变,立即会自动同步更新

实现方法 {{}} ng-bind ngif ngRepeat="变量名 in 数组"...几乎所有的显示数据的指令都实现了方向1的绑定

方向2

view绑定到model,把视图中可以修改的HTML元素,即表单控件的值绑定到模型变量上。此后,只要用户修改了表单控件的值后,后台模型变量的值会立即随之改变

Html:

名字: <input type="text" ng-model="name"/>  <span>{{name}}</span>
密码: <input type="text" ng-model="password"/> <span>{{password}}</span>

JS:

   angular.module("myModule",["ng"]).controller("contro",function($scope){
        
         $scope.$watch("name+password",function(){         
            
            console.log($scope.name);
            console.log($scope.password);
            
         });