数组 Array
用一个变量表示一个值的集合
直接量创建
var a = []; //创建一个空数组
var a = [1,2,3]; //创建一个数组含有三个元素
构造函数创建
var a = new Array(); //创建一个空数组
var a = new Array(10); //创建一个长度10的空数组
var a = new Array (1,2,3,4); //创建一个数组并初始化赋值
二维数组
直接创建
var a = [[1,2,3],[4,5,6],[7,8,9]]; //创建一个二维数组 理解 a = [0]中有1,2,3 a = [1]中有4,5,6
循环创建
var a = new Array(); //创建一个新数组
for(var i = 0; i
a[i] = new Array(); //声明二维数组,每一个一维里再填进一个一维
for(var j = 0; j
a[i][j] = """; //将所有元素初始化为空
}
}
a[0][0] = 1; //给定义的二维数组赋值、
var a = new Array;
var q = 1;
for(var i = 0; i
a[i] = new Array;
for(var j = 0; j
a[i][j] = q++;
}
}
函数
关键词 function
格式
function 函数名(参数) {
执行代码 ;
}
调用
函数名(参数);
命名函数表达式
var demo = function abc(){
执行代码 ;
}
匿名函数表达式
var demo = function (){
执行代码 ;
}
形式参数
function 函数名(参数) {
执行代码 ;
}
实际参数
函数名(参数);
function 函数名(a , b) {
// 相当于在这里var a , b;
var c = a + b;
document.write(c);
}
函数名(1,2);
可见 3
例
var demo = function (a , b){
if(a > b){
document.write(a - b);
}else if(a
document.write(a + b);
}else{
document.write(a);
}
}
demo(参数1,参数2);
不定参数
在每个函数中JS语言系统内部会自动创建一个 arguments 的类似数组的 实参列表 (length 长度)
var demo = function (){
var sum = 0;
for(var i = 0; i
sum += arguments[i];
}
document.write(sum);
}
demo(1,2,3,4,5,6,7,8,9,10);
可见 55
程序中函数内部全部解释完后会隐式的增加一条语句 return; 表示终止并返回
显示添加 return
function sum(){
return 123;
}
sum();
此时 sum();的返回值是123;
立即执行函数
(function (){}())
或
(function (){})()
该函数执行一次立刻自毁不占用内存。
练习题
求 x, y, z 分别的值
var x = 1, y = z = 0;
function add(n){
return n = n + 1;
}
y = add(x);
function add(n){
return n = n + 3;
}
z = add(x);
下面console.log的结果是[1,2,3,4,5]的选项是:
//A
function foo(x){
console.log(arguments);
return x;
}
foo(1,2,3,4,5,)
//B
function foo(x){
console.log(arguments);
return x;
}(1,2,3,4,5)
//C
(function foo(x){
console.log(arguments);
return x;
})(1,2,3,4,5)
//D
function foo(){ bar.apply( null, arguments)}
function bar(x){ console.log( arguments)}
foo(1,2,3,4,5)
请问以下表达式的结果是什么?
parseInt( 3, 8);
parseInt( 3, 2);
parseInt( 3, 0);
A 3,3,3
B 3,3,NaN,NaN
C 3,NaN,NaN,NaN
D other
看下面alert的结果是什么
function b(x, y ,a){
arguments[2] = 10;
alert(a);
}
b(1, 2, 3);
如果函数改成下面,结果又会是什么?
a = 10;
alert(arguments[2]);
随便输入一段字符串 用函数封装 求该字符串字节长度
0~254 为一字节 255~32766为二字节 32767~ 2,147,483,647为四字节
字节查询关键词 charCodeAt 用法 变量.charCodeAt(length);
//A
function a(b){
var sum = 0;
for(var i = 0; i
if(b.charCodeAt(i) >= 32767){
sum += 4;
}else if(b.charCodeAt(i) >= 255){
sum += 2;
}else{
sum++;
}
}
console.log(sum);
}
//B
function a(b){
var sum = 0;
for(var i = 0; i
if(b.charCodeAt(i)
sum++;
}else if(b.charCodeAt(i) >= 255 && b.charCodeAt(i)
sum += 2;
}else{
sum += 4;
}
}
console.log(sum);
}
领取专属 10元无门槛券
私享最新 技术干货