小编ast*_*rix的帖子

JavaScript范围和执行上下文

我想了解JavaScript范围规则.我在教科书和文档中看到的内容令人困惑.

在我看来,JavaScript是一种静态(或词汇)范围的语言 - 当尝试将变量名称绑定到变量(定义)时,使用代码的词法结构.

执行上下文似乎类似于调用堆栈上的堆栈帧.每个执行上下文都有一个变量对象,在该变量对象上定义了(相关函数的)所有局部变量.这些变量对象链接在一起,以提供从堆栈顶部的变量对象到堆栈底部的变量对象(窗口对象)的"范围链".在将变量名称绑定到变量时,从上到下搜索此作用域链.这与静态范围的语言(如C/C++/Java)非常相似.

对于C/C++/Java,似乎有一个重要的区别 - 可以访问函数中定义的变量,该函数的堆栈帧不再位于调用堆栈上,如下例所示:

var color = "red";
var printColor;

function changeColor() {
    var color = "green";

    printColor = function(msg) {
        alert(msg + color);
    }
    printColor("in changeColor context, color = ");  // "green"
}

changeColor();

// stack frame for "changeColor" no longer on stack
// but we can access the value of the variable color defined in that function

printColor("in global context, color = ");  // "green"
Run Code Online (Sandbox Code Playgroud)

我做对了吗?我还应该注意其他问题吗?

提前致谢

javascript scope executioncontext

5
推荐指数
1
解决办法
1582
查看次数

在PHPExcel中查看换行符

我正在尝试使用PHPExcel创建一个Excel文件.源数据是一个关联数组数组,每个数组都存储一个名称和地址:

Array
(
    [0] => Array
        (
            [name] => Joe Bloggs
            [address] => 10 Main St 
Bayside 
Big Town ABC123
    )

    [1] => Array
        (
            [name] => Mary Bloggs
            [address] => 18 Bridge St
Riverside
Small Town XYZ987
        )
    :
    :
)
Run Code Online (Sandbox Code Playgroud)

如您所见,地址包含换行符.我使用以下代码使用PHP将此数据写入Excel文件:

$phpExcel = new PHPExcel();

$phpExcel->setActiveSheetIndex(0);
$phpExcel->getActiveSheet()->getCell('A1')->setValue("Name");
$phpExcel->getActiveSheet()->getCell('B1')->setValue("Address");
$index = 2;
foreach($rows as $row) {
    $phpExcel->getActiveSheet()->getCell('A'.$index)->setValue($row["name"]);
    $phpExcel->getActiveSheet()->getCell('B'.$index)->setValue($row["address"]);
    $index++;
}
$objWriter = PHPExcel_IOFactory::createWriter($phpExcel, 'Excel2007');
$filename = "outputs/excel/data.xlsx";
$objWriter->save($filename);
Run Code Online (Sandbox Code Playgroud)

但是,生成的Excel文件不包含我想要保留的换行符.

Name         Address
Joe Bloggs   10 Main St Bayside Big Town …
Run Code Online (Sandbox Code Playgroud)

php phpexcel

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

executioncontext ×1

javascript ×1

php ×1

phpexcel ×1

scope ×1