扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
最为常见的方式是这样的:
十年的梓潼网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整梓潼建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“梓潼网站设计”,“梓潼网站推广”以来,每个客户项目都认真落实执行。
var arr = [];
arr是变量名,你自己随意取(只要符合命名规范即可)
如上表示创建了一个新数组。
数组赋值有两种,一种是创建的时候赋值,还与一种是创建后再赋值,如下
创建时赋值:
var arr = ['HTML5学堂', 2];
// 创建了一个数组,数组有两个元素,第一个是字符串HTML5学堂,第二个是数字2
创建后再赋值:
var arr = [];
arr[0] = 'HTML5学堂';
arr[1] = 2;
// 创建一个空数组,给第一个数组元素赋值为HTML5学堂,第二个数组元素赋值为2
除了这种最为常见的创建数组方法之外,还有这种(平日不怎么用,也不推荐在实际中使用):
var arr = new Array();
var arr2 = new Array('HTML5学堂', 2);
JS函数的定义方式比较灵活,它不同于其他的语言,每个函数都是作为一个对象被维护和运行的。
先看几种常用的定义方式:
function func1([参数]){
/*函数体*/
}
var func2=function([参数]){
/*函数体*/
};
var func3=function func4([参数]){
/*函数体*/
};
var func5=new Function();
上述第一种方式是最常用的方式,不用多说。
第二种是将一匿名函数赋给一个变量,调用方法:func2([函数]);
第三种是将func4赋给变量func3,调用方法:func3([函数]);或func4([函数]);
第四种是声明func5为一个对象。
再看看它们的区别:
function func(){
//函数体
}
//等价于
var func=function(){
//函数体
}
但同样是定义函数,在用法上有一定的区别。
script
//这样是正确的
func(1);
function func(a)
{
alert(a);
}
/script
script
//这样是错误的,会提示func未定义,主要是在调用func之前没有定义
func(1);
var func = function(a)
{
alert(a);
}
//这样是正确的,在调用func之前有定义
var func = function(a)
{
alert(a);
}
func(1);
/script
用同样的方法可以去理解第三种定义方式。
第四种定义方式也是需要声明对象后才可以引用。
var init = function() { }; 是函数表达式,函数在代码执行的到当前行的时候才被执行,init 才被赋值。
function init() {} 是函数的声明,和 var 一样,会被提前到代码最前面定义。
所以,下面的两个例子:
foo(); // 在函数声明之后调用 foo,可以正常调用。因为 foo 被提前到最前面定义了。
function foo() {
return true;
}
foo(); // 在函数表达式之前调用函数,报错。因为这时候还没有 foo 这个变量。
var foo = function() {
return foo;
};
ES5 规定,函数只能在顶级作用域和函数作用域中声明,否则是不合法的。例如:
if( true ) {
// 非顶级和函数作用域内定义函数,是错误的,虽然可能浏览器不一定会抛出错误,但是是不规范的。
function foo() {
return true;
}
}
ES6 引入了块级作用域的概念,这种定义方法就被允许了。在块级作用域里面声明的函数,作用域类似于使用 let 声明的变量,在块级作用域之外没有办法被调用。
例如:
{
function foo() {
return true;
}
}
foo(); // 在函数声明的代码块之外调用函数,会抛出错误。
第一个标准的函数声明
第二个和第一个差不多,只不过做成匿名函数赋值变量,从语义上来讲不同但效果最后一样,都会在当前上下文产生一个func2的变量名
第三个我很少这样用,但是应该也可以的,实际上等于var func3,func4; func3 = func4 = function(){}
第四个是使用Function构造函数,这个构造函数使用字符串构建函数,动态的,比如你可以用字符串拼接一个函数体出来,如new Function("alert var" + varName + " + var" + varName2)这样,这种东西在需要高性能执行javascript的时候,来进行预编译。javascript模板引擎经常用这种方式
没有赋值时,默认为undefined。
这个题的考察点就是JavaScript中定义一个变量没有赋值时,默认为undefined,不定义变量变量b时没法读取变量的值。
一个变量,会做变量的声明提升。即上面这句话会提升到最上面,当然没有赋值时,默认为undefined。
以下答案应该是比较全的,为个人总结原创。规则:js中,变量名必须以ASCII字符或下划线(_)开头,第1个字母不能是数字,但其后可以是数字或其他字母。不能与JavaScript中的保留字相同。 规范:(1)从变量名上应该可以看出变量的作用。(2) 如果变量名是一个单独的单词,如“date”,那么该变量名应该全部使用小写;如果变量名是两个或多个单词组成,那么从第二个单词开始,后面的所有单词的首字母都必须大写,如“theDate”、“otherDate”等。 当然,以上规范只是一个“约定”而已,可以遵守,也可以不遵守。注意:JavaScript与其他程序语言之间有些区别,其他程序语言大多需要为变量指定一个数据类型,例如将一个变量指定为整数型,那么这个变量就只能存储整数型数据,不可以存储浮点型或其他类型的数据。而JavaScript中的变量是没有类型(notype)的,这就意味着在JavaScript中的变量可以是任何一种数据类型。例如先将一个数字型数据赋给一个变量,在程序运行过程中,再将一个布尔型数据赋给同一个变量,这在JavaScript中是合法的。 在JavaScript中,使用一个变量之前,必须要先定义该变量。只有在定义了一个变量之后,系统才会准备一个内存空间来存储这个变量的值,而程序员可以通过变量名来存储或读取变量的值。在JavaScript中可以使用关键字var来定义一个变量。一个var关键字也可以同时定义多个变量,变量之间用逗号隔开。在定义了变量之后,如果没有为变量赋值,那么该变量的初始值为undefined。JavaScript支持在定义变量的同时为变量指定初始值。变量可以根据其有效范围分为全局变量与局部变量两种。其中全局(global)变量从定义开始,到整个JavaScript代码结束为止,都可以使用;而局部(local)变量只有在函数内部里才生效。这里值得注意的是,在函数体内使用var关键字定义的变量为局部变量,如果要在函数体内定义全局变量,则不能使用var关键字,只需要直接给变量赋值即可。JavaScript中局部变量的有效范围与其他语言中局部变量的有效范围不同,JavaScript中只要在函数体内定义了局部变量,该局部变量就会在整个函数体内有效,而不是从定义局部变量的那行代码开始起效。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流