目录
注意:不同java,js在形参中,不需要指定数据类型。类型由实参决定。
for循环
用法同java ;
且continue和break在js的for中也是可以使用的。
数组
操作数组
增加数据:
插到尾:
插到头:
注意:定义一个空数组,要初始化为[],不能为null或者undefined
删除数据:
删尾:
删头:
指定删除:
注意:
js数组和高级语言不同点是,js数组灵活性更高,其定义时不指定某个特定的类型,所以同一个js数组,可以同时存在多种任意的数据数据类型,例如:字符串,浮点数,整数,甚至数组和对象。
函数
声明:
函数命名规则:
![](https://i-blog.csdnimg.cn/blog_migrate/9eecd8e6562a1605bc4266c5f9864fb8.png)
调用:
参数:
设置数值默认为0:
下面注释写错了:应该为“而不报错!”
数组为参数:
注意:不同java,js在形参中,不需要指定数据类型。类型由实参决定。
函数的返回值:
实参和形参个数不对应的情况:![](https://i-blog.csdnimg.cn/blog_migrate/bbf311099a3e255363cf39cb0ba06b00.png)
函数返回多个值:
js中函数默认只能返回一个参数。
但也可以通过一些手段返回多个值:
借用数组:
作用域:
不同作用域下,命名冲突的情况:
作用域链原则(就近原则):先从本作用域找某变量的定义,再往上一级作用域找,以此类推,如果都没有,则报变量的没有定义错误!。
注意:
匿名函数
立即执行函数:
//第一种立即执行函数
(function (变量名可给可不给) (放形参){函数体})(放实参)
//第二种立即执行函数
(function (变量名可给可不给) (放形参){函数体}(放实参))
注意:
伪数组arguments的使用:
使用场景:不清楚实参个数时。
函数调用传参默认值设置为0的方法:
第一种: || 逻辑判断法
第二种:形参赋值法
对象
对象是无序的,而数组是有序的
声明:
对象属性访问:
第一种方式:对象.属性名
第二种方式: 对象[ '属性名' ]
对象方法使用:
//创建对象
let obj = {
uname:'吴彦祖',
age:22,
//对象内的方法都为匿名方法
study:function(){
//在内部方法中,也可以使用对象内的属性
alert(`${this.uname},今年${this.age},在学习js!!!`)
}
}
//调用对象的方法
obj.study()
操作对象:
值的注意的是:添加新数据新方法和删除属性,js比其他高级语言更加灵活。
添加属性和方法:
删除属性或者方法:![](https://i-blog.csdnimg.cn/blog_migrate/c73da4e84685862c987c4cf1d86995b6.png)
遍历对象
for in 循环:
对象数组(开发中后台返回就是这种数据):
内置对象
数学内置对象:
Math.random:
Math.round:
Math.max()
返回数组中最大值:
查阅mdn帮助文档:
了解更多可以去mdn帮助文档学习:Math - JavaScript | MDN (mozilla.org)
生成特定范围内的随机数:
//得到【min,max】范围内的一个随机数
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
}
JS术语解析:
JS内存分配机制:
样例: