筆記2018年9月27日16:10:45
阿新 • • 發佈:2018-12-12
session_start();
isset($_SESSION['xxx']);
unset($_SESSION['xxx']);
session_destroy();
setcoockie(name,value,expire,path,domain,security);
$_COOKIE['xxx'];
ini_set('display_errors', 'On');
error_reporting(E_ALL);
js閉包
Javascript語言特有的"鏈式作用域"結構(chain scope),子物件會一級一級地向上尋找所有父物件的變數。所以,父物件的所有變數,對子物件都是可見的,反之則不成立
this
的上下文基於函式呼叫的情況。和函式在哪定義無關,而和函式怎麼呼叫有關。
在全域性上下文(任何函式以外),this指向全域性物件(windows)
在函式內部時,this由函式怎麼呼叫來確定
當函式作為物件方法呼叫時,this指向該物件
var name = "The Window"; var object = { name : "My Object", getNameFunc : function(){ return function(){ return this.name; }; } }; alert(object.getNameFunc()()); // The Window 等同下面三行程式碼 var fun = object.getNameFunc(); var res = fun();//真正呼叫的時候 alert(res); ---------------------------------------------------------------------------- var name = "The Window"; var object = { name : "My Object", getNameFunc : function(){ var that = this; return function(){ return that.name; }; } }; alert(object.getNameFunc()());// My Object
php閉包
閉包可以儲存所在程式碼塊上下文的一些變數和值。PHP在預設情況下,匿名函式不能呼叫所在程式碼塊的上下文變數,而需要通過使用use關鍵字
function getMoney() { $rmb = 1; $dollar = 6; $func = function() use ( $rmb ) { echo $rmb; echo $dollar; }; $func(); } getMoney(); //輸出: //1 //報錯,找不到dorllar變數 //use所引用的也只不過是變數的一個副本而已。 function getMoney() { $rmb = 1; $func = function() use ( $rmb ) { echo $rmb; //把$rmb的值加1 $rmb++; }; $func(); echo $rmb; } getMoney(); //輸出: //1 //1 //加上符號& function getMoney() { $rmb = 1; $func = function() use ( &$rmb ) { echo $rmb; //把$rmb的值加1 $rmb++; }; $func(); echo $rmb; } getMoney(); //輸出: //1 //2