js方法定义
<script type="text/javascript">
function fun() {
var n = 10;
return n;
}
//var ff = fun();
//alert(ff);
//方法没有返回值是undefined
function add(a1,a2){
return a1 + a2;
}
//var sum = add(312, 432);
// alert(sum);
function add(n1, n2, n3) {
return n1 + n2 + n3;
}
//js中没有方法重载,方法名相同的情况下执行最下面
function add() {
var sum = 0;
for (var i = 0; i < arguments.length; i++){
sum += arguments[i];
}
return sum;
}
var s=add(1, 2, 3, 4, 35, 1, 54, 64, 2);
alert(s);
</script>
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
// var newdate = new Date();
//alert(newdate.toLocaleDateString());
function f1() {
alert(new Date().toLocaleDateString());
}
</script>
<script type="text/javascript">
window.onload = function () {
document.getElementById("btn4").onclick = function () {
alert(new Date().toLocaleDateString());
}
}
</script>
</head>
<body>
<input type="button" name="name" value="方法1显示当前时间" id="btn1" οnclick="alert(new Date().toLocaleDateString());" />
<input type="button" name="name" value="方法2显示当前时间" id="btn2" οnclick="f1();" />
<input type="button" name="name" value="方法3显示当前时间" id="btn3" />
<input type="button" name="name" value="方法4显示当前时间" id="btn4" />
<script type="text/javascript">
document.getElementById("btn3").onclick = function () {
alert(new Date().toLocaleDateString());
}
</script>
</body>
</html>
以上4种方法都可以调用事件 其中最好的是方法4
超链接显示时间
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<a href="javascript:alert(new Date().toLocaleTimeString());">
显示时间
</a>
</body>
</html>
随机数demo
<script type="text/javascript">
// var n1 = 10;
//var n2 = null;
//alert(typeof (n1));
//alert(String (n2));
var names = ['艾弗森', '里斯', '科比', '刘翔', '麦迪', '乔丹'];
function getname(namegroup) {
var nameNumber = namegroup.length;
var nameIndex = parseInt((nameNumber-1) * Math.random());
return names[nameIndex];
}
alert(getname(names));
</script>
类型转换
parseInt(); 转int类型
parseFloat();转成字符串
Number()把指定的值转换成数字
IsNaN() 判断是否为一个非数字(NaN)
String()把给定的值转换成字符串
Boolean()把给定的值转换成Boolean型
eval(codeString) 将一段字符串的Js代码 计算并且执行
匿名方法 (避免方法名冲突、)
一、
<script type="text/javascript">
var ff= function(n){
return n+10;
};
var result=ff(10);
alert(result);
</script>
二、
<script type="text/javascript">
(function (p1, p2) { alert(p1 + p2); })(20, 30);
</script>
闭包(函数嵌套,内部函数访问外部函数变量)
为什么要有闭包?
Js的面向对象都是用来“闭包”来模拟的
原理:作用域链
缺点:耗内存,可不用就不用
面向对象
首字母大写
方法一、
function Persson(){
}
var p1=new Persson();
p1.name="xx";
p1.age=18;
p1.say=function(){
alert('哈哈');
};
alert(p1.name);
p1.say();
方法二
function Person(name,age){
this.name=name;
this.age=age;
};
var p1=new Person(‘xx’,18);
p1.say=function(){
alert('哈哈');
};
alert(p1.name);
p1.say();
字符串方法
var str1 = str.indexOf("你",10);//获取指定字符串第一次出现的位置,start表示从第几个开始搜索
var str2 = str.split('|');//以|号分隔
str = str.substring(2,5); 截取索引2和5之间的字符串
Json数据
{a:"a"}这就是一个JSON数据。 JSON数据是用键值对的形式存储的。冒号(:)前面的是键,冒号后面的是值。JSON,的每一个值之间可以用分号(;)隔开。大的类可以用{}大括号包围他其中的值,集合可以用[]中括号,包围值
JSON是一种轻量级数据交换格式。json简单说就是js中的对象和数组,所以这两种结构就是对象和数组2种结构,你用的数据格式就是对象和数组的复合结构。 其中只有一个"wegInstLt"的变量名,值是包含一个条目的数组。假设var info={"wegInstLt":[{"billTypeCode":"0","channelId":530,"channelKind":"03","isHaveBillDate":"0","isHavePayAmount":"0","isLeePay":"0","isPrePay":"1","wiliCode":"1238","wiliItem":"00","wiliName":"哈尔滨市自来水公司","wltiId":10345}]}; 要获得"哈尔滨市自来水公司"可以这样写:info.wegInstLt[0].wiliName