js笔记
random() //返回介于 0(包含) ~ 1(不包含) 之间的一个随机数:
Math.random(); // Math 对象用于执行数学任务
function myFunction(a,b) { if (a>b) { return; //函数停止执行,不会计算 a+b,但js不会停止执行,从调用函数的地方继续执行 } x=a+b }
match() 在字符串内匹配指定的值 (慢吃,匹配一下再吃)
<script> function changeImage() { element=document.getElementById('myimage') if (element.src.match("bulbon")) { element.src="/images/pic_bulboff.gif"; } else { element.src="/images/pic_bulbon.gif"; } } </script> <img id="myimage" onclick="changeImage()" src="/images/pic_bulboff.gif" width="100" height="180">
document.write(isNaN(123)+ "<br>"); //false isNaN() 检查其参数是否非数字
let、var 生命变量 //最主要的区别在于var声明的变量的作用域是整个封闭函数。
function varTest() { var x = 1; if (true) { var x = 2; // 同样的变量! console.log(x); // 2
} console.log(x); // 2
} function letTest() { let x = 1; if (true) { let x = 2; // 不同的变量 console.log(x); // 2
} console.log(x); // 1
}
var answer1='It\'s alright'; // It's alright
var answer2="He is called \"Johnny\""; //He is called "Johnny"
数组:
var arr = new Array(); arr[0] = 'a0'; arr[1] = 'a1'; arr[2] = 'a2'; for (var i = 0; i < arr.length; i++) { document.write(arr[i] + '<br>'); }
var arr = ['a0', 'a1',' 'a2' ];
对象:
<div class="" id="demo1"></div> <script type="text/javascript"> var person = { firstName: "John", lastName: "Doe", id: 5566, fullName: function() { return this.firstName + " " + this.lastName; } } document.getElementById("demo1").innerHTML = person.fullName; //function () { return this.firstName + " " + this.lastName; document.getElementById("demo2").innerHTML = person.fullName(); //John Doe ()走你 } </script>
//this所在的function是做为一个方法被调用( person.fullName() ): this等于他的父级对象
//this所在的function是做为构造器被调用( new function() ): this等于即将生成的对象
//其他情况this等于undefined(指向最外层的域)
//在JavaScript中,this通常指向的是我们正在执行的函数本身,或者是指向该函数所属的对象(运行时)
var lastname="Doe", age=30, job="carpenter"; val lastname = ["Doe", 30, "carpenter"]; val person = { lastname: "Doe", age: 30, job: "carpenter"
fullName: function() {
return this.lastname+ " :" + this.age;
}
};
变量: 数据 的容器
对象: 键值对+方法 的容器