Java Web基础回顾 —Javascript
Javascript是脚本语言,浏览器解析读取代码是逐行地执行脚本代码;相对于传统编程语言,会在执行前对所有代码进行编译。
-
Javascript定义在函数外面的变量一定是全局变量; 定义在函数内的变量,如果声明了var,那该变量就是局部变量,如果不声明var,那该变量就是全局变量。如果重新声明 JavaScript 变量,该变量的值不会丢失。
-
with 语句:对象操作语句。为一段程序建立默认对象。
-
for…in语句:重复执行指定 对象的所有属性。
-
默认对象:
1)Date对象
2)Array对象 -
事件:
1)js中为某个对象空间绑定时间通常可以采取两种手段<input type=“button” onclick=“clickHandler();”> <input type=“button” id=“button1”> <scrip type=“text/javascript”> var v = document.getElementById(“button1”); v.onclick=clickHandler; </script>
-
在javascript中,函数function就是对象。
-
在javascript中,没有方法(函数)重载的概念。
-
在javascript中有一个Function对象,所有自定义的函数都是Function对象类型的。Function对象接收的参数都是字符串类型的,其中最后一个参数就是要执行的函数体,而前面的参数则是函数真正需要接收的参数。
-
在javascript中,每个函数都有一个隐含的对象arguments,表示给函数实际传递的参数。arguments有一个length属性,可以得出实际函数的长度。
-
每一个函数对象都有一个length属性,表示该函数期望接收的参数格式,它与函数的arguments不同。
-
javascript中有五种原始数据类型:Undefined、Null、Boolean、Number、String。
- Undefined数据类型的值只有一个:undefined
- Null数据类型的值只有一个:null
- Boolean数据类型有两个:true 、 false
-
typeof是一元运算符,有五个返回值:undefined、boolean、number、string、object。
-
在javascript中, 如果函数没有声明返回值,那么会返回undefined。
-
null与undefined的关系:undefined实际上是从null派生出来的。
-
强制类型转换:在javascript中有3中强制类型转换:Boolean(value), Number(value), String(value)。
-
在javascript中,可以动态添加对象的属性,也可以动态删除对象的属性。
-
javascript中定义对象:
*对象可以以name:value方式来定义:var person=var object = new object(); object.name = “name”; object[“password”] = “password”; delete object.name;
-
javascript定义对象第二种方式:
var object = {name:”name”, password:”password”}; -
javascript数组的sort方法,会先将待排序的内容转换为字符串(toString()方法),按照字符串的先后顺序进行排序。
-
javascript最佳定义对象的方式:使用原型+构造函数的方式来定义对象,对象之间的属性互不干扰,各个对象间共享同一个方法。
function person(){ this.username = new Array(); this.password=“123”; } Person.prototype.getInfo=function(){ alert(this.username+”, “+this.password); } var p = new Person(); var p2 = new Person(); p.username.push(“zhangsan”); p2.username.push(“lisi”); p.getInfo(); p2.getInfo();
-
javascript的继承:
-
对象冒充:
最重要的三行:
this.method=Parent;
this.method(username);
delete this.method; -
call方法:call方法是Function对象中的方法,因此我们定义的每个函数都拥有该方法。通过函数名来调用call方法,call 方法的第一个参数会被传递给函数中的this,从第二个参数开始,逐一赋值给函数中的参数。
Parent.call(this,username); -
apply方法:Parent.call(this, new Array(username));
-
原型链prototype chain方式:无法给构造函数传递参数。
-
混合方式:
function Parent(username){ this.username= username; } Parent.prototype.sayName=function(){ alert(this.username); } function Child(username,password){ Parent.call(this,username); } Child.prototype = new Parent(); //这样就继承了parent的所有方法。
-
-
javascript的编码规范:一般不希望外界访问的成员和方法名以下划线开始。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步