Hướng dẫn can variable name and function name be same javascript? - tên biến và tên hàm có thể giống nhau javascript không?

Thuộc tính tên chỉ đọc của đối tượng hàm cho biết tên của hàm được chỉ định khi nó được tạo hoặc nó có thể là ẩn danh hoặc '' (một chuỗi trống) cho các hàm được tạo ẩn danh. ) hoặc chỉ hàm (...) tạo các đối tượng chức năng và tên của chúng là "ẩn danh"., các biểu thức hàm ẩn danh được tạo bằng hàm từ khóa hoặc hàm mũi tên sẽ có "" (một chuỗi trống) làm tên của chúng., Tên Thuộc tính chỉ đọc và không thể thay đổi bởi toán tử gán:

function Foo() {};
let foo = new Foo();

if (foo.constructor.name === 'Foo') {
   console.log("'foo' is an instance of 'Foo'");
} else {
   console.log('Oops!');
}

function a() {};
let b = new a();
if (b.constructor.name === 'Foo') {
   console.log("'foo' is an instance of 'Foo'");
} else {
   console.log('Oops!');
}

function doSomething() {}
doSomething.name; 

(function() {}).name; 
(() => {}).name; 


Gợi ý: 2

Nếu tên chức năng và tên biến giống nhau thì động cơ JS sẽ bỏ qua biến. - & nbsp; Sharath Bangera ngày 18 tháng 11 năm 2016 lúc 11:23, 1 với var A Bạn tạo một biến mới. Tuyên bố thực sự được nâng lên để bắt đầu phạm vi hiện tại (trước định nghĩa hàm). Sau đó, tên được sử dụng theo chức năng cùng tên. Đây là những gì bạn nhận được khi sử dụng cảnh báo (). - & nbsp; Sirko ngày 18 tháng 11 năm 2016 lúc 11:23, tạo một biến trong phạm vi hiện tại có cùng tên với hàm (trừ khi một biến đó đã tồn tại), trong khi thực hiện mã, nếu biến được chỉ định tại bất kỳ điểm nào, Sau đó, nó được thay thế, nếu không nó vẫn là cùng một chức năng.

Đầu tiên bạn khai báo một biến:

var a; // value of a is undefined 

Thứ hai, giá trị của

function doSomething() {}
doSomething.name; 
7 là một hàm vì khai báo chức năng được ưu tiên hơn các khai báo biến (nhưng không vượt quá gán biến):

function a(x) {
   return x * 2;
}

Bạn cũng nên nhớ rằng

function doSomething() {}
doSomething.name; 
8 được nâng lên, điều này làm cho nó giống như thế này

var a; 

function a(x) {
   return x * 2;
};

var a; 
alert(a); 

Hãy nhớ rằng

function doSomething() {}
doSomething.name; 
8 được nâng lên, vì vậy nếu bạn gán
(function() {}).name; 
(() => {}).name; 
0:

var a; 

function a(x) {
   return x * 2;
};

var a = 4; 
a = 4 

alert(a); 

(Lưu ý: Đầu tiên đọc mã từ dòng 4 đến dòng 8. Sau đó, một lần nữa đọc từ đầu đến cuối.)

console.log(a); 
console.log(b); 

var a = 100; 
function a(x) {
   ...
};

function b(x) {
   ...
};
var b; 

console.log(a); 
console.log(b); 

(function() {}).name; 
(() => {}).name; 
1

function foo() {}
let foo;

(function() {}).name; 
(() => {}).name; 
2

function a() {};
let b = new a();
if (b.constructor.name === 'Foo') {
   console.log("'foo' is an instance of 'Foo'");
} else {
   console.log('Oops!');
}
0


Gợi ý: 3

Tạo một biến trong phạm vi hiện tại có cùng tên với hàm (trừ khi một biến như vậy đã tồn tại), tạo ra một hàm được đặt tên, tạo một biến trong phạm vi hiện tại với tên được chỉ định (trừ khi một biến như vậy đã tồn tại), không ' t gán một giá trị cho biến đó (trừ khi kết hợp với toán tử gán)

Đầu tiên bạn khai báo một biến:

var a; // value of a is undefined 

Thứ hai, giá trị của

function doSomething() {}
doSomething.name; 
7 là một hàm vì khai báo chức năng được ưu tiên hơn các khai báo biến (nhưng không vượt quá gán biến):

function a(x) {
   return x * 2;
}


Bạn cũng nên nhớ rằng

function doSomething() {}
doSomething.name; 
8 được nâng lên, điều này làm cho nó giống như thế này

Hãy nhớ rằng

function doSomething() {}
doSomething.name; 
8 được nâng lên, vì vậy nếu bạn gán
(function() {}).name; 
(() => {}).name; 
0:

function a() {};
let b = new a();
if (b.constructor.name === 'Foo') {
   console.log("'foo' is an instance of 'Foo'");
} else {
   console.log('Oops!');
}
3

function a() {};
let b = new a();
if (b.constructor.name === 'Foo') {
   console.log("'foo' is an instance of 'Foo'");
} else {
   console.log('Oops!');
}
4

function a() {};
let b = new a();
if (b.constructor.name === 'Foo') {
   console.log("'foo' is an instance of 'Foo'");
} else {
   console.log('Oops!');
}
5

function a() {};
let b = new a();
if (b.constructor.name === 'Foo') {
   console.log("'foo' is an instance of 'Foo'");
} else {
   console.log('Oops!');
}
6


(Lưu ý: Đầu tiên đọc mã từ dòng 4 đến dòng 8. Sau đó, một lần nữa đọc từ đầu đến cuối.)

Gợi ý: 3

var

function a() {};
let b = new a();
if (b.constructor.name === 'Foo') {
   console.log("'foo' is an instance of 'Foo'");
} else {
   console.log('Oops!');
}
7


Tạo một biến trong phạm vi hiện tại có cùng tên với hàm (trừ khi một biến như vậy đã tồn tại), tạo ra một hàm được đặt tên, tạo một biến trong phạm vi hiện tại với tên được chỉ định (trừ khi một biến như vậy đã tồn tại), không ' t gán một giá trị cho biến đó (trừ khi kết hợp với toán tử gán)

Gợi ý: 4

function a() {};
let b = new a();
if (b.constructor.name === 'Foo') {
   console.log("'foo' is an instance of 'Foo'");
} else {
   console.log('Oops!');
}
8

function a() {};
let b = new a();
if (b.constructor.name === 'Foo') {
   console.log("'foo' is an instance of 'Foo'");
} else {
   console.log('Oops!');
}
8

function doSomething() {}
doSomething.name; 
0

function a(x) {
   return x * 2;
}

function doSomething() {}
doSomething.name; 
2


Gợi ý: 7

Đối với các biến JavaScript toàn cầu, không có tiêu chuẩn đặt tên cụ thể., Tên hàm JavaScript cũng nhạy cảm với trường hợp. Vì vậy, tương tự như các biến, cách tiếp cận trường hợp lạc đà là cách được khuyến nghị để khai báo tên hàm., Hằng số JavaScript cũng nhạy cảm với trường hợp. Tuy nhiên, các hằng số này nên được viết bằng chữ hoa vì chúng là các biến không thay đổi., Vì vậy, nên sử dụng tên tệp chữ thường trong tất cả các máy chủ mặc dù hỗ trợ nhạy cảm trường hợp của chúng.

Tên biến JavaScript nhạy cảm trường hợp. Các chữ cái chữ thường và chữ hoa là khác biệt. Ví dụ: bạn có thể xác định ba biến duy nhất để lưu trữ tên chó, như sau.

function doSomething() {}
doSomething.name; 
3

Tuy nhiên, cách được khuyến nghị nhất để khai báo các biến JavaScript là với tên biến trường hợp lạc đà. Bạn có thể sử dụng quy ước đặt tên trường hợp lạc đà cho tất cả các loại biến trong JavaScript và nó sẽ đảm bảo rằng có nhiều biến có cùng tên.camel case variable names. You can use the camel case naming convention for all types of variables in JavaScript, and it will ensure that there aren’t multiple variables with the same name.

function doSomething() {}
doSomething.name; 
4

Tên của các biến nên được tự giải thích và mô tả giá trị được lưu trữ. Ví dụ: nếu bạn cần một biến để lưu trữ tên chó, bạn nên sử dụng DogName thay vì chỉ tên vì nó có ý nghĩa hơn.

function doSomething() {}
doSomething.name; 
5


Gợi ý: 8

Vì các biến cục bộ chỉ được nhận dạng bên trong các hàm của chúng, các biến có cùng tên có thể được sử dụng trong các hàm khác nhau., Các biến cục bộ được tạo khi một hàm bắt đầu và xóa khi hoàn thành hàm. Trong định nghĩa hàm., Tên hàm có thể chứa các chữ cái, chữ số, dấu gạch dưới và dấu hiệu đô la (cùng quy tắc với các biến).

function doSomething() {}
doSomething.name; 
6


Tên biến nào không được phép trong JavaScript?

Quy tắc đặt tên các biến Phần còn lại của tên biến có thể bao gồm bất kỳ chữ cái, bất kỳ số nào hoặc dấu gạch dưới. Bạn không thể sử dụng bất kỳ ký tự nào khác, bao gồm không gian, biểu tượng và dấu chấm câu. Như với phần còn lại của JavaScript, các tên biến là trường hợp nhạy cảm.spaces, symbols, and punctuation marks. As with the rest of JavaScript, variable names are case sensitive.

Chúng ta có thể sử dụng tên hàm làm tên biến không?

Do đó, khi hàm được thực thi, nó sẽ gọi tập lệnh và mã bên trong tập lệnh sẽ được thực thi theo từng dòng. Tuy nhiên, việc sử dụng tên hàm như tên biến không được khuyến khích mạnh mẽ.the use of function names as variable names is strongly discouraged.

Làm thế nào để bạn đặt tên cho các biến và hàm trong javascript?

Đặt tên quy ước biến và tên chức năng được viết là Camelcase.Các biến toàn cầu được viết bằng các hằng số chữ hoa (chúng tôi không, nhưng nó khá phổ biến) (như PI) được viết bằng chữ hoa.Variable and function names written as camelCase. Global variables written in UPPERCASE (We don't, but it's quite common) Constants (like PI) written in UPPERCASE.

Một chức năng và một biến có thể có cùng tên?

Bạn không thể bởi vì nếu bạn có ví dụ (), 'Ví dụ' là một con trỏ đến hàm đó.Đây là câu trả lời đúng.Có những con trỏ chức năng, đó là các biến.Nhưng ngoài ra, tất cả các tên chức năng được coi là con trỏ chức năng const! because if you have example(), 'example' is a pointer to that function. This is the right answer. There are function pointers, which are variables. But also, all function names are treated as const function pointers!