在函数内声明的变量只存在(除非被传递)在该函数内。
x <- 1
foo <- function(x) {
    y <- 3
    z <- x + y
    return(z)
}
y错误:找不到对象“y”
传递给函数然后重新分配的变量会被覆盖,但仅限于函数内部。
foo <- function(x) {
    x <- 2
    y <- 3
    z <- x + y
    return(z)
}
foo(1)
x5
1
在比函数更高的环境中分配的变量存在于该函数中,不会被传递。
foo <- function() {
    y <- 3
    z <- x + y
    return(z)
}
    
foo()4