小编ste*_*ino的帖子

了解Javascript中的全局和本地范围

我一直在使用Stoyan Stefanov使用面向对象的JavaScript学习Javascript

他提供了一个比较全局和本地范围的示例:

var a = 123;
function f() {
    alert(a);
    var a = 1;
    alert(a);
}
f();
Run Code Online (Sandbox Code Playgroud)

看看这个例子,我预计第一个警报为'123',第二个警报为'1'.瞧,斯托扬说:

您可能希望第一个alert()将显示123(全局变量a的值),第二个将显示1(本地a).不是这种情况.第一个警报将显示"未定义".这是因为在函数内部,局部范围比全局范围更重要.因此局部变量会覆盖具有相同名称的任何全局变量.在第一个alert()时,a尚未定义(因此值未定义),但它仍然存在于本地空间中.

我的解释并不清楚,局部变量如何在第一个警报中覆盖全局变量?任何其他/不同的解释将不胜感激.

javascript

10
推荐指数
1
解决办法
1747
查看次数

使用带有空括号的Perl模块

我正在尝试学习Perl并了解一些关于use模块的知识.

(假设use strict; use warnings;)

我知道use File::Find;加载模块的所有子程序.

据我所知,use File::Find qw(find);只加载find模块的子程序(虽然我可以使用其他子程序File::Find::finddepth).

那怎么File::Find ();办?具体来说,为什么空的parens?

perl

4
推荐指数
1
解决办法
766
查看次数

将字符添加到文件名的中间

我需要在文件名的中间添加一个字符,我需要在同一目录中为大约8000个文件执行此操作.我正在寻找一个命令行选项:

示例(需要重命名的所有文件都是五位数,它们位于包含不需要重命名的其他六位数文件名的目录中):

01011
02022
12193
Run Code Online (Sandbox Code Playgroud)

至:

010101
020202
121903
Run Code Online (Sandbox Code Playgroud)

我尝试了几件事:rename,mv等.与此类似(Bash - 在文件名中间添加0)但不完全

bash command-line

3
推荐指数
1
解决办法
8597
查看次数

在perl中加速foreach循环

我有一个工作的perl脚本扫描目录并使用imgsize http://dktools.sourceforge.net/imgsize.html来获取png文件的宽度等.有没有人有任何关于加快这个过程的技巧(现在,平均每1000个文件需要5分钟)?我只是想知道代码是否可以如何优化.谢谢.

use strict;
use warnings;

use File::Find;

my @files;
my $directory = '/Graphics/';
my $output_file = '/output_file';
my $max_height = 555;
my $count = 0;

open ( OUTPUT, '>>', $output_file );

find( \&wanted, $directory );

foreach my $file ( @files ) {
        if ( $file =~ /\.png$/ ) {
                my $height = `imgsize $file | cut -d\'\"\' -f4`;
                if ( $height > $max_height ) {
                        print OUTPUT "$file\n";
                }

                $count++;

                my $int_check = $count/1000;
                if ( $int_check !~ …
Run Code Online (Sandbox Code Playgroud)

perl

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

标签 统计

perl ×2

bash ×1

command-line ×1

javascript ×1