您的位置:首页 > 编程语言 > Java开发

javawebday03(js和html结合 基本数据类型及方法 全局函数 重载)

2017-09-08 16:35 513 查看
<script>
/*
js和html的结合方式
1、使用一个标签<script type = "text/javascript">js代码</scri..>
2、使用script标签 引入一个外部的js文件
<script type="text/javascript" src = "1.js"></scri..>
第二种方式标签内不能写js代码 不会执行
js的原始类型和声明变量
java的基本数据类型 byte short int long float double char boolean
js的原始类型 (五个)
string 字符串 var str="ab";
number  数字类型 var num =11;
boolean 布尔类型 true和false var flag =true;
null
访问的对象不存在
typeof 运算符对于null 会返回object 最初实现的一个错误 然后被沿用 现在null
被认为是对象的占位符  但从技术上来讲仍是原始数据类型
var date = new Date();
获取对象的引用 null表示对象引用为空 所有对象的引用也是object
undefined
定义一个变量 没有赋值
var aa;
typeof() 查看当前变量的数据类型
js的语句
java里面的语句
if判断
switch 语句
循环 for while   (do while)
js里面的语句
if判断语句
= 表示赋值
== 表示判断
switch语句
java里面支持数据类型 string支持吗? 在jdk1.7开始支持
js里面都支持
switch(a){
case 5:
break;
case false:
break;
}
循环语句 for while do-while
while 循环
var i=5;
while(i>1){
alert(i);
i--;
}
for循环
for(var x= 1;x<5;x++)
{}
i++ 和++i 和java相同
在js里面不区分整数和小数 和java不同
alert(1234/1000*1000);//1234
字符串的相加和相减
相加是字符串连接 如果相减 是相减的运算
相加和java一样 相减就执行相减 和java不同
var str="4122";
//alert(str+1);//41221
alert(str-1);//4121
如果不是数字会提示NaN
boolean类型也可以操作
如果设置成true 相当于是1
如果是false 相当于是0
== 和===区别
== 比较的是值
=== 比较的是值和类型
引入知识
直接项页面输出的语句(可以把内容显示在页面上)
document.write() 都能写 html标签也能识别
js的数组
什么是数组
使用变量 var m =10;
java里面的数组 定义 int[] arr ={1,2,3};
定义方式(三种)
1、var arr = [1,"4",true];
2、使用内置对象 Array对象
var arr = new Array(5); 定义一个数组的 数组的长度为5
arr[0] =1;
3、使用内置对象Array
var arr = new Array(3,4,5); 定义一个数组 数组内的元素是3,4,5,
数组里面有一个属性 length 可以得到数组的长度
数组的长度是可变的
数组可以存放不同的数据类型的数据
js的函数
在java里面定义方法
public 返回类型void/int 方法名(参数列表)
{方法体;返回值;}
在js里面定义函数(方法)有三种方式
函数的参数列表里面不需要写var 直接写参数名称
1、
使用一个关键字 function
function 方法名(参数列表){方法体; 返回值可有可无(根据实际需要)}
2、 匿名函数
var aaa =  function(参数列表){方法体和返回值}
3、使用到js中的一个内置对象Function 动态函数
var add =  new Function("参数列表","方法体和返回值");
var a = new Function("x,y","alert(x+7);return x+y");
a(1,4);
js的全局变量和局部变量
全局变量 在script标签里面定义一个变量 这个变量在页面中js部分都可以使用
在方法外部使用 方法内部使用 另外一个script使用
局部变量 在方法内部定义一个变量 只能在方法内部使用
ie自带了一个调试工具 在ie8及以上的版本中 键盘F12  在页面会出现
script 标签的位置
外部的放head 内部的放body
建议把script标签放在</body>后面
在js里面需要获取到input里面的值 如果把script标签放在head里面会出现问题
html解析是从上到下解析的 script标签放在head里面 直接在里面取input的值
因为 页面还没有解析到input的那一行 取不到值
什么是重载 方法名相同 参数列表不同
java里面有重载
js没重载 几个参数都能接受 但建议自己写对应的
js的string对象
创建string对象
var str = new String();
方法和属性(文档)
字符串转数组 如果有分割号 直接用split切割即可
属性 length 字符串的长度
方法
与html相关的方法
font 加粗
fontcolor 字体颜色
fontsize 字体大小
link 将字符显示成超链接
str.link("http://sss.sss.com");
sub下标 sup上标
与java相似的方法
concat() 连接字符串
str1.concat(str2);
charAt(index); 字符位置不存在 返回空字符串
indexOf() 返回字符位置 不存在返回-1
split() 切割成字符串 成数组
replace() 替换字符串
传递两个参数
第一个参数是原始字符
第二个参数是要替换成的字符
substr() 在指定索引位置拿 第二个参数的大小
substring(3,6) 包含头 不包含尾 [3,6)
js的array对象
创建数组(三种)
var arr1=  [1,2,3]
var arr2 = new Array(3); 长度为3的数组
var arr3 = new Array(1,2,3); 包含1,2,3的长度为3的数组
属性 length 数组的长度
方法 concat() 方法 连接数组
join() 根据指定的字符 分隔数组 对结果没有影响 直接打印数组的时候还是逗号分隔
push() 向数组的末尾添加元素 并返回长度 如果是数组 仍然是一个作为一个整体
如果添加的是一个数组这个时候把数组当作一个整体字符串添加进去
pop()  删除最后一个元素 返回删除的那个元素
reverse() 颠倒数组中的元素
js的date对象
在java里面获取当前时间
Date date = new Date();
//格式化
//toLocalString()
js 获取当前时间
var date  = new Date();
转换成习惯的格式
date.toLocalString();
回4位的 之前的getYear不总是4位 所以在ECMAScript v3 开始就用getFullYear
date.getFullYear();
获取当前的月方法
getMonth() 获取当前的月
返回的是0-11月 如果要得到准确的值
document.write("month"+(date1.getMonth()+1));
获取当前的星期
getDay() 星期 返回的是(0~6)
外国把星期日作为一周的第一天 星期日返回的是0
而星期一到星期六返回的是1-6
得到当前的天
getDate() 得到月中天数 (1-31)
得到当前的分钟
getHours() 小时
getMinutes() 分钟
getSeconds() 秒
getMilliseconds() 毫秒数
获取毫秒值
getTime()
返回1970 1 1 至今的毫秒数
使用毫秒数处理缓存 .com?毫秒数
js的Math 对象
数学的运算
里面的都是静态的方法 可以直接使用Math.方法();
ceil 向上取最大整数
floor 向下取最大整数
round 四舍五入
random 伪随机数
Math.floor(Math.random()*10)
pow(x,y) x^y
js的全局函数
由于不属于任何一个对象 直接写名称来使用
eval() 执行js代码 如果字符串是一个js代码 使用方法直接执行
var str = "alert('aa')";
eval(str);
encodeURI() 对字符进行编码
decodeURI() 对字符进行解码
isNaN 判断当前字符串是否是数字
如果是数字 返回false 如果不是数字返回true
parseInt 类型转换
js的重载
什么是重载 方法名相同 参数不同
js不存在重载 用最后一个函数
把传递的参数保存到arguments的数组里面
但是可以通过其他方法模拟重载
for(var x =0;x<arguments.length;x++)
{
sum+= arguments[x];
}

*/
document.write("<table border='1' bordercolor='blue'>")
//循环行
for (var x = 1; x <= 9; x++) {
document.write("<tr>");
//循环列
for (var y = 1; y <= x; y++) {
document.write("<td>");
document.write(y + "*" + x + "=" + x * y);
document.write("</td>")
}
document.write("</tr>");
}
document.write("</table>")
//document.write();//里面是双引号 如果设置标签的属性 要使用单引号
//动态函数
// var a = new Function("x,y","alert(x+7);return x+y");
//a(1,4);
var arr2 = [1,2];
var arr = new Array(5);
arr[0] = 1;
arr[1] = 1;
arr[2] = 1;

arr.push(arr2);
document.write( arr.length);
var date1 = new Date();
document.write(date1);
//转成习惯的格式
var date2 = date1.toLocaleString();
document.write(date2);
//返回4位的 之前的getYear不总是4位 所以在ECMAScript v3 开始就用getFullYear
date1.getFullYear();
document.write("month"+(date1.getMonth()+1)+"<hr/>");
document.write(date1.getMilliseconds());
var str = "alert('aa')";
eval(str);
var str1 = "中文aa";
var encode = encodeURI(str1);
document.write(encode);
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: