整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Dust Generator-逼真粒子粉塵漂浮生成器Blender插件

          ust Generator專為Blender打造的插件,可以幫助用戶生成逼真的粒子粉塵漂浮顆粒,從而讓你的3D建模環境更加的真實。使用這個插件可以讓你制造這些漂浮的顆粒更加的方便,支持對顆粒大小進行設置,小的時候可以模擬煙霧粉塵效果,大的時候也可以用來模擬花瓣和落葉飄動的效果。支持Cycles和EEVEE渲染器。

          來源:http://www.3h3.com/soft/282294.html

          版本支持

          支持軟件 Blender 3.1、3.2

          使用說明

          1.打開軟件,頂部菜單點擊 編輯(Edit) → 首選項(3.0之后版本為偏好設置) → 插件(AAdd-ons) → 安裝(Install) ,在彈出的窗口里選擇插件.zip文件安裝

          2.重啟Blender,在 文件 → 用戶設置 →勾選啟用 插件即可

          刀PPT提供免費PPT模板,清新水彩樹葉背景的讀書分享會PPT模板,模板是設計好的PPT模板直接打開編輯即可。

          頁數:25頁

          編號:PPT11983

          大小:6.54MB

          軟件:PowerPoint

          格式:PPTX

          比例:16:9

          復制下載:ppt.101dao.com/ppt/ppt-PPT11983.html

          習一門新語言涉及一系列步驟,而掌握一門新語言則是耐心、實踐、錯誤和經驗的產物。

          有些開發人員將擁有足夠的知識來根據客戶的需求來提供特性,但是要做一個好開發人員,它需要的不僅僅是它。

          一個優秀的開發人員是一個需要時間回來并能很好地掌握語言的基礎/核心概念的人。

          今天我們深入研究javascript閉包,希望您所學習的知識對于您的項目有好處。

          什么是javascript閉包?

          JavaScript閉包當內部函數可以訪問外部函數成員時(詞匯范圍即使在外部函數的范圍外執行時也可以。

          因此,我們不能談論關閉問題,同時也不履行職能和范圍。

          javascript中的范圍

          范圍指程序中定義的變量的可見性程度。在javascript中創建范圍的方法包括:try-catch blocks, functionslet keyword還有花括號里的其他。我們主要有兩種不同的范圍:全球范圍和局部范圍.

          var initialBalance = 0 // Global Scopefunction deposit (amount) {
           /**
           * Local Scope
           * Code here has access to anything declared in the global scope
           */
           var newBalance = parseInt(initialBalance) + parseInt(amount)
           return newBalance}

          JavaScript中的每個函數在聲明時都會創建自己的本地作用域。

          這意味著,在函數的本地范圍內聲明的任何東西都不能從外部訪問。請考慮以下說明:

          var initialBalance = 300 // Variable declared in the Global Scopefunction withdraw (amount) {
           var balance // Variable declared in function scope
           balance = parseInt(initialBalance) - parseInt(amount)
           return balance}console.log(initialBalance) // Will output initialBalance value as it is declared in the global scopeconsole.log(balance) // ReferenceError: Can't find variable: balance

          詞法范圍

          JavaScript的詞法范圍在編譯階段。它設置變量的范圍,以便它只能從定義它的代碼塊中調用/引用它。

          在周圍函數塊中聲明的函數可以訪問周圍函數的詞法范圍內的變量。

          var initialBalance = 300 // Global Scopefunction withdraw (amount) {
           /**
           * Local Scope
           * Code here has access to anything declared in the global scope
           */
           var balance = parseInt(initialBalance) - parseInt(amount)
           const actualBalance = (function () {
           const TRANSACTIONCOST = 35
           return balance - TRANSACTIONCOST /**
           * Accesses balance variable from the lexical scope
           */
           })() // Immediately Invoked Function expression. IIFE
           // console.log(TRANSACTIONCOST) // ReferenceError: Can't find variable: TRANSACTIONCOST
           return actualBalance}

          調用其封閉函數之外的內部函數,但仍然維護對其封閉函數(詞法范圍)中變量的訪問,從而創建一個javascript閉包。

          function person () {
           var name = 'Paul' // Local variable
           var actions = {
           speak: function () {
           // new function scope
           console.log('My name is ', name) /**
           * Accessing the name variable from the outer function scope (lexical scope)
           */
           }
           } // actions object with a function
           return actions /**
           * We return the actions object
           * We then can invoke the speak function outside this scope
           */}person().speak() // Inner function invoked outside its lexical Scope

          閉包允許我們公開接口,同時隱藏和保存外部范圍內的執行上下文。

          一些javascript設計模式使用閉包。

          模塊模式

          其中一個很好實現的模式就是模塊模式,這個模式允許您模仿:私有、公共和特權成員。

          var Module = (function () {
           var foo = 'foo' // Private Property
           function addToFoo (bam) { // Private Method
           foo = bam return foo }
           var publicInterface = {
           bar: function () { // Public Method
           return 'bar'
           },
           bam: function () { // Public Method
           return addToFoo('bam') // Invoking the private method
           }
           }
           return publicInterface // Object will contain public methods})()Module.bar() // barModule.bam() // bam

          根據上面的模塊模式說明,只有返回對象中的公共方法和屬性可以在閉包的執行上下文之外使用。

          所有私有成員仍然存在,因為它們的執行上下文保存但隱藏在外部范圍內。

          關于閉包的更多插圖

          當我們將函數傳遞到setTimeout或者任何類型的回調。由于閉包函數的作用,函數仍然記住詞法范圍。

          function foo () {
           var bar = 'bar'
           setTimeout(function () {
           console.log(bar)
           }, 1000)}foo() // bar

          閉包和循環

          for (var i = 1; i <= 5; i++) {
           (function (i) {
           setTimeout(function () {
           console.log(i)
           }, i * 1000)
           })(i)}/**
          * Prints 1 thorugh 5 after each second
          * Closure enables us to remember the variable i
          * An IIFE to pass in a new value of the variable i for each iteration
          * IIFE (Immediately Invoked Function expression)
          */
          for (let i = 1; i <= 5; i++) {
           (function (i) {
           setTimeout(function () {
           console.log(i)
           }, i * 1000)
           })(i)}/**
          * Prints 1 through 5 after each second
          * Closure enabling us to remember the variable i
          * The let keyword rebinds the value of i for each iteration
          */

          我打賭我們現在已經了解閉包了,并且可以做以下操作:

          • 演示它的使用例或識別它在我們從未知道我們使用它的上下文中。
          • 按照我們希望的情況維護執行上下文
          • 在javascript模塊模式中實現代碼
          • 使用閉包在我們的代碼中,清楚地理解

          關注小編了解更多精彩內容,還可私信小編,領取精品的前端免費學習課程視頻,同時我將為您分享精品資料。


          主站蜘蛛池模板: 久久高清一区二区三区| 久久免费精品一区二区| 精品一区狼人国产在线| 精品aⅴ一区二区三区| 亚洲国产AV一区二区三区四区| 日韩十八禁一区二区久久| 日韩一区精品视频一区二区 | 精品少妇ay一区二区三区| 一区二区三区无码高清| 国产精品第一区揄拍| 日本不卡一区二区三区视频| 精品一区二区三区水蜜桃| 亚洲色精品VR一区区三区| 亚洲老妈激情一区二区三区| 精品视频一区二区观看| 亚洲乱码av中文一区二区| 亚洲成AV人片一区二区密柚| 亚洲视频一区二区| 韩国精品一区二区三区无码视频| 久久久国产精品亚洲一区| 手机看片福利一区二区三区 | 日本不卡在线一区二区三区视频| 国内精品视频一区二区三区八戒| 麻豆aⅴ精品无码一区二区| 国产午夜精品一区二区三区嫩草| 男人免费视频一区二区在线观看 | 日韩人妻无码一区二区三区久久 | 久热国产精品视频一区二区三区| 无码少妇一区二区| 免费一区二区无码东京热| 日本中文一区二区三区亚洲| 日韩视频在线一区| 亚洲国产一区二区三区在线观看| 人妻无码久久一区二区三区免费 | AV鲁丝一区鲁丝二区鲁丝三区 | 色一情一乱一伦一区二区三区| 色欲AV蜜桃一区二区三| 成人精品一区二区户外勾搭野战| 日韩av无码一区二区三区| 日本不卡一区二区三区| 免费日本一区二区|