我试图理解Javascript不可变变量的含义.如果我能做到:
var x = "astring";
x = "str";
console.log(x); //logs str` , then why it is immutable?
Run Code Online (Sandbox Code Playgroud)
我能想到的唯一答案(从CI的一点点知道)是var x是指向具有值"astring"的内存块的指针,在第二个语句之后它指向另一个具有值"str"的块.是这样的吗?
还有一个额外的问题:我对Javascript的值类型感到困惑.引擎盖下的所有变量都是对象吗?偶数和字符串?
我的routes.php摘录:
Route::group(['prefix' => 'admin', 'namespace' => 'Admin'], function() {
Route::resource('posts', 'PostsController', [
'except' => ['show']
]);
Route::delete('posts/trash', [
'as' => 'posts.trash.empty',
'uses' => 'PostsController@emptyTrash'
]);
});
Run Code Online (Sandbox Code Playgroud)
我的PostsController.php摘录:
/**
* DELETE /admin/posts/{id}
*/
public function destroy($id)
{
// code
}
/**
* DELETE /admin/posts/trash
*/
public function emptyTrash()
{
// code
}
Run Code Online (Sandbox Code Playgroud)
问题是Laravel将DELETE /admin/posts/trash请求中的'trash'字符串混淆为{id}参数.因此,destroy()调用该方法而不是emptyTrash().为什么以及我能为此做些什么?