分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

MVC思想 & 全局变量如何变为局部变量

发布时间:2023-09-06 02:00责任编辑:顾先生关键词:MVC

MVC思想 & 全局变量如何变为局部变量

1 MVC思想

  1. VC 第一版

    !function(){ var view = document.querySelector(‘xxx‘)var controller = function(view){ ???..… ??}controller.call(null,view)}.call() ????
  2. VC 第二版,添加init

    !function(){ ?var view = document.querySelector(‘xxx‘)var controller = {view: null,init: function(view){ ???this.bindEvents(). ???//this.bindEvents().call(this)},bindEvents: function(){ ???...… }} ?controller.init(view). ?????//controller.init.call(controller,view)}.call() ????????
  3. MVC思想完整版

    !function(){ ?//M 数据相关的操作,负责和server数据交互var model = { ?fetch: function(){ ???????????... ?}, ?save: function(){ ?????????... ?}} ?//V 负责视图展示var view = document.querySelector(‘xxx‘) ?//C 负责逻辑等其他var controller = { ?view: null, ?model: null, ?init: function(view,model){ ???this.view = view ???this.model = model ???this.bindEvents() ?}, ?bindEvents: function(){ ????????????... ?} ?} ?controller.init(view,model)}.call()

2 函数中的全局变量如何变成局部变量?

  1. 全局变量之间会相互骚扰。所以在代码中不要用全局变量。ES6之前只有函数里面有全局变量。

  2. 全局变成局部变量怎么变?
    • 把代—放在一个函数如中,再.call()执行一下这个函数?行不行?
    • 不行—样的话函数名也是一个全局变量(全局函数)。
    • 那么—掉函数名把函数变成一个匿名函数?再function(){}.call()立即执行,这样 可以,但是Chrome报错,语法错误。
  3. 全局变量变局部变量的方法:
    • 方法一:!function(){}.call( )
      (前面加+、-、!都可以,这种方法会改变函数的返回值,但是不在乎这个函数的返回值的话加个取反没有关系)
    • 方法二:(function(){}).call( )
      (用括号把函数括起来。但是不推荐这种做法,因为如果(函数)的前一行被加上一个xxx,很容易被浏览器误解为是在xxx()。)

MVC思想 & 全局变量如何变为局部变量

原文地址:https://www.cnblogs.com/nolaaaaa/p/9188865.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved