日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jquery变量var的使用

發布時間:2023/12/3 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jquery变量var的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

變量var的使用

js的變量沒有類型

var $li = $('#' + file.id),$percent = $li.find('.progress span');//console.log("percentage:", percentage);// 避免重復創建if (!$percent.length) {$percent = $('<p class="progress"><span></span></p>').appendTo($li).find('span');}

如果是null不會進入if

如果是一個數組會進入

空字符串不會進入

如果是undefined不會進入

如果是1會進入

如果是0不會進入

如果是字符串1也會進入

ES6 改變了現狀, 引入了新的 let 關鍵字, 提供了除 var 以外的另一種變量聲明方式。

let 關鍵字可以將變量綁定到所在的任意作用域中(通常是 { .. } 內部)。 換句話說, let為其聲明的變量隱式地了所在的塊作用域。

與var不同的是,它聲明的變量只能是全局或者整個函數塊的換句話,塊級 == { }

let 聲明的變量只是在其聲明的塊或者子塊中可用,這一點,與var相似。二者的主要區別在于var聲明的變量的作用域是整個封閉函數,而let聲明的作用域是塊。

1 function varTest() {2 var x = 1;3 if (true) {4 var x = 2; // 同樣的變量!5 console.log(x); // 26 }7 console.log(x); // 28 }9 10 function letTest() { 11 let x = 1; 12 if (true) { 13 let x = 2; // 不同的變量 14 console.log(x); // 2 15 } 16 console.log(x); // 1 17 }

當用到內部函數時候,let 會讓你的代碼更加簡潔。

1 var list = document.getElementById('list');2 3 for (let i = 1; i <= 5; i++) {4 let item = document.createElement('li');5 item.appendChild(document.createTextNode('Item ' + i));6 7 item.onclick = function(ev) {8 console.log('Item ' + i + ' is clicked.');9 }; 10 list.appendChild(item); 11 } 12 13 // to achieve the same effect with 'var' 14 // you have to create a different context 15 // using a closure to preserve the value 16 for (var i = 1; i <= 5; i++) { 17 var item = document.createElement('li'); 18 item.appendChild(document.createTextNode('Item ' + i)); 19 20 (function(i){ 21 item.onclick = function(ev) { 22 console.log('Item ' + i + ' is clicked.'); 23 }; 24 })(i); 25 list.appendChild(item); 26 }

以上示例的工作原理是因為(匿名)內部函數的五個實例引用了變量i的五個不同實例。注意,如果將let 替換為 var, 則它將無法正常工作,因為所有內部函數都將返回相同的i,6是最終值。此外我們可以通過將創建新元素的代碼移動到每個循環的作用域來保持循環更清晰。

在程序或者函數的頂層,let 并不會像var 一樣在全局對象上創建一個屬性,比如:

1 var x = "apple"; 2 let y = "apple"; 3 console.log(this.x); //'apple' 4 console.log(this.y); //undefined

在處理構造函數的時候,可以通過let 綁定來共享一個或者多個私有成員,而不使用閉包:

1 var Thing;2 {3 let privateScope = new WeakMap();4 let counter = 0;5 6 Thing = function(){7 this.someProperty = 'foo';8 privateScope.set(this, {9 hidden: ++counter, 10 }); 11 }; 12 13 Thing.prototype.showPublic = function(){ 14 return this.someProperty; 15 }; 16 17 Thing.prototype.showPrivate = function(){ 18 return privateScope.get(this).hidden; 19 }; 20 } 21 22 console.log(typeof privateScope); //undefined 23 24 var thing = new Thing(); 25 console.log(thing); //Thing { someProperty: 'foo' } 26 console.log(thing.showPublic()); //foo 27 console.log(thing.showPrivate()); //1

當在塊中使用時,let 將變量的作用域限制為該塊。注意var 的作用域在它被聲明的函數內區別。

1 var a = 1;2 var b = 2;3 4 if(a === 1){5 var a = 11;6 let b = 22;7 8 console.log(a); // 119 console.log(b); // 22 10 } 11 console.log(a); // 11 12 console.log(b); // 2

總之,let 的作用域是自己最近的{}

var names = ["00:00","23:00","22:00","21:00","20:00","19:00","18:00","17:00","16:00","15:00","14:00","13:00","12:00","11:00","10:00","09:00","08:00","07:00","06:00","05:00","04:00","03:00","02:00","01:00"];var url = CONTEXT_PATH +"/cusviews/dev/getRadarChartName";var param = {deviceCode:deviceCode}var retData = $.getData(url,param)if(1000!=retData.status){return;}var data = retData.data;if(null==data){return;}var rlt = {"data" : []};var rltdata = [];var dataList = new Array();function isInArray(arr,value){for(var i = 0; i < arr.length; i++){if(value === arr[i]){return true;}}return false;}$.each(data.textlist,function(j,k){let obj = {};if(isInArray(names,k.substring(11,16))){obj.text = k.substring(11,13);}else{obj.text = "";}obj.max = data.maxlist[j];rlt.data.push(obj);}) window.onload = function() {var sum = 0;for (var i = 0;i <10;i++){sum += i; }alert(sum);alert("i="+i); } </script> --------------------- 上面的代碼可輸出i <script> window.onload = function() {var sum = 0;for (let i = 0;i <10;i++){sum += i; }alert(sum);alert("i="+i); } </script> --------------------- i未定義

let具有自己的塊級作用域,所以for循環轉一次,創建一個塊級作用域,思路與閉包相同,分別儲存了5個不同的i變量。

var lis = document.getElementsByTagName("li"); for(let i=0; i<lis.length;i++){ lis[i].onclick = function(){ alert(i); } } (function () {})();(function ($) {}) (jQuery) (function (window, $) {})(window, jQuery);(function (window, $, undefined) {})(window, jQuery);

var _util = function () {this.QueryFormSerializeArray = function (domid) {var form = null;if (typeof (domid) === "string")from = $('#' + domid);elsefrom = domid;var p = from.serializeArray();var s = $.map(p, function (n) {var t = $("#" + n.name);if (t.size() == 0)t = from.find("*[textboxname='" + n.name + "']");var query = {};var s = $.trim(t.attr('data-query'));if (s) {if (s.substring(0, 1) != '{') {s = '{' + s + '}';}query = (new Function('return ' + s))();if (query.filed) {query.name = query.filed;//query.remove("filed");}}//console.log(query);return $.extend({}, n, query);});return s;};/*** 序列化Form 返回字符串* @param {string} domid* @return {any} 序列化后的*/this.QueryFormSerializeString = function (domid) {var s = this.QueryFormSerializeArray(domid);var strpars = JSON.stringify(s);return strpars;}; };$Core.util = new _util();

?

function ($),直接進入

$.extend({renderSelectorMyf : function(options){return new renderSelectorMy(options);}});

new實例化的時候進入方法

;(function($){ debugger;var options = {fieldCode: "gfyId",url: "../../Security/selector/user/PublicServiceUserList.html?s=" + Math.random(),multi: false,code: "gfyId,gfyIdName",keyRespField: "gfyId,id",dictCode: "publicserviceName",area: ['90%','90%']};/*引用查詢選擇*/function renderSelectorMy(options){var defaults = {};this.settings = $.extend({},defaults,options);var $domObj = $("#" + this.settings.fieldCode + "-popSelector");this.settings.url = $domObj.attr("action") ? $domObj.attr("action") : this.settings.url;this.settings.multi = $domObj.attr("multi") ? $domObj.attr("multi") : this.settings.multi;this.settings.code = $domObj.attr("codeAndName") ? $domObj.attr("codeAndName").split(",") : this.settings.code.split(",");this.settings.keyRespField = this.settings.keyRespField ? this.settings.keyRespField.split(",") : "";this.init();}//為函數添加原型鏈上的方法renderSelectorMy.prototype = {init: function(){var _self = this,_keys = _self.settings.code;$("input[name='" + _keys[0] +"']").parent().parent().find("button").unbind('click').bind('click', function(){var action = "_self." + $(this).attr("action");eval(action);});},querySelect : function(thi,event){var _self = this;var url = _self.settings.url;var _keys = _self.settings.code;var keyRespField = _self.settings.keyRespField;var id = keyRespField[1];var ids = $("input[name='" + _keys[0] +"']").val();if(url.indexOf("?") != -1) {url = url + "&" + id + "="+ids;}else {url = url + "?" + id + "="+ids;}$Core.UI.openDialog("selwind", url,{title: "列表選擇",width: _self.settings.area[0],height: _self.settings.area[1],onClose: function () {}});},echoSelect : function(_data){var _self = this;var data = _data.data,_keys = _self.settings.code,_rkeys = _self.settings.keyRespField,dictName = "",dictCode = _self.settings.dictCode;$Core.DicCache.initDictionary(dictCode,function(dicts){var _dicts = dicts;if(dicts && dicts.data){var dictDatas = dicts.data[dictCode];for(var i=0,len=dictDatas.length; i<len; i++){var item = dictDatas[i];if(data[_keys[0]] == item[_rkeys[1]]){var itemName = item.text;dictName += itemName +",";}}$("span input:text", $("div #" + _keys[0] + "-popSelector")).val(dictName.substr(0,dictName.length-1));}else{$("span input:text", $("div #" + _keys[0] + "-popSelector")).val(dictName);}})},selectResultAfterCallback: function(checkRlt){var _self = this,multi = _self.settings.multi;if(checkRlt.length == 0){$Core.UI.message.warning("選請選擇數據!");}if(!multi && checkRlt.length != 1){$Core.UI.message.warning("單選,請選擇一條數據!");}var _keys = _self.settings.code,code = "",name = "";if(!_self.settings.multi){code = checkRlt[0]['code'];name = checkRlt[0]['name'];}else{var _code = "",_name = "";for(var i=0,len=dataArr.length; i<len; i++){_code += checkRlt[i]['code'] +",";_name += checkRlt[i]['name'] +",";}code = _code.substring(0,_code.length-1);name = _name.substring(0,_name.length-1);}//給input[name='']:text 賦值address = checkRlt[0]['address'];headPerson = checkRlt[0]['headPerson'];headPersonPhone = checkRlt[0]['headPersonPhone'];customerType = checkRlt[0]['customerType'];$("input[name='address']").val(address);$("input[name='headPerson']").val(headPerson);$("input[name='headPersonPhone']").val(headPersonPhone);/*$("input[name='customerType']").val(customerType);*/$("#customerType").combobox("setValue", customerType);$("input[name='" + _keys[0] + "']:hidden").val(code);$("span input:text", $("div #" + _keys[0] + "-popSelector")).val(name);$(".panel-tool-close").trigger('click');}} //擴展jquery類方法$.extend({renderSelectorMyf : function(options){return new renderSelectorMy(options);}}); })(jQuery) debugger; renderSelector = $.renderSelectorMyf({fieldCode: "gfyId",url: "../../Security/selector/user/PublicServiceUserList.html?s=" + Math.random(),multi: false,code: "gfyId,gfyIdName",keyRespField: "gfyId,id",dictCode: "publicserviceName",area: ['90%','90%']});_self.renderSelectors = [renderSelector];

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的jquery变量var的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。