- 函数
函数是一个代码块,封装了一系列的代码。例如:
函数相当于对象,所以可以像处理对象一样的处理函数$(function(){ var x=2; //函数1 function calc1(){ return x=x*2; }; //函数2 function calc2(){ x=x*2; }; console.log(calc1()); >>4 console.log(calc2()); >>undefined //没有返回值,将会返回undefined });
>可以将函数赋予一个变量
>保存在一个数据结构中(数组或者对象)
>把函数当成参数传递给其他函数
>将函数作为另一个函数的返回值
$(function(){ var calc = function(x){ return x*2; }; console.log(calc(5)); });
匿名函数:将一个函数表达式包装在一对圆括号中,然后立即调用改函数
$(function(){ (function(x,y){ console.log(x+y); })(5,6); });
该模式用于确保代码块的执行按照预期的效果执行,比如下面
$(function(){ var x = 42; var message = (function(x){ return function(){ console.log("x值等于"+x); }; })(x); message(); x=12; message(); });
输出都是 x值等于42,无论在外部x的值发生变化,不影响函数执行的x的值
- 理解执行上下文
执行上下文是一种对象,可以通过this访问执行上下文。 - 作用域和闭包
JavaScript中,作用域维持在函数级别,并非块级别,this关键字绑定于全局名称空间,当在一个方法创建一个内部函数时,内部函数this将绑定全局命名空间,而不是绑定于该方法
$(function(){ obj = {}; obj.method = function(){ //可以将this赋予一个that变量 var that = this; this.counter = 0; var count = function(){ //这里的this绑定的还是全局obj,所以输出是undefined console.log(this.counter); that.counter +=1; console.log(that.counter); }; count(); count(); console.log(this.counter); }; obj.method(); }); >>>undefined >>>1 >>>undefined >>>2 >>>2
- 访问级别
JavaScript默认对象中所有成员都是公有和可访问的,要实现私有方法或属性,可以使用闭包
$(function(){ console.log(this); function TimeMachine(){ //私有成员 var destination = "2015"; //公有成员 //this代表TimeMachine()对象 console.log(this); this.getDestination = function(){ return destination; }; } var time = new TimeMachine(); console.log(time.getDestination()); >>>2015 console.log(time.destination); >>>undefined });
- JavaScript数组
创建方式
1、var array1 = new Array();
array1[0] = 1;
array1[1] = "a string";
2、var niceArray = [1,2,3]
移除数组元素,使用delete delete array1[0];但是不会改变数组长度,只是在数组中留下一个空元素 - JavaScript最佳实践
将字符串转换为数值,最好使用操作符(+) +“010”;
使用等同(===)操作符比较两个值
Jquery高级编程阅读笔记2——javaScript基础
最新推荐文章于 2024-09-17 21:49:02 发布