Java进阶学习第三天——Js对象

文档版本 开发工具 测试平台 工程名字 日期 作者 备注
V1.0 2016.04.11 lutianfei none

js的动态函数和匿名函数

动态函数

  • 通过js的内置对象Function,通过new Function(参数1,参数2)来创建动态函数。
  • 动态函数可以通过参数的方式进行动态的创建函数,不需要修改函数体,只需修改参数就可以改变函数。
var param1 = "x,y";
var param2 = "var sum;sum=x+y;return sum;";
var param3 = "var sum;sum=x*y;return sum;";

var add = new Function(param1,param3);
var sum = add(4,5);
alert(sum);


匿名函数

  • 没有名称的函数,通常是函数的简写形式。
<script type = "text/javascript"> var add = function (x,y){ return x+y; }; var sum = add(4,5); alert("sum = "+sum); </script>


js的全局变量和局部变量

  • 全局变量:在<script>标签内部定义的变量。在该标签内乃至整个页面都有效。
  • 局部变量:在函数的内部定义的变量,局部变量。
<script type = "text/javascript"> var x = 4; function show(x){ x = 8; } show(x); alert("x = "+x); </script>


javascript的对象和API

  • String对象的方法分成两类,
    • 一种是关于与html有关的方法。
    • 另一种和java中的String相似的方法。

String 对象

  • 声明
    var str = "abc";
    var str = new String("abc");

  • 属性:length:字符串的长度

  • 方法:

    • 和HTML相关的方法(书写没有提示的)

      • bold():使用粗体显示显示字符串
      • fontcolor(color):参数是必须的,设置字体的颜色
      • fontsize(size):设置字体的大小(1-7)
      • italics():斜体
      • link(url):设置链接
      • sub():下标
      • sup():上标
    • 和java中String对象类似的(重点)

      • charAt(index):返回指定位置的字符
      • indexOf(str,fromIndex):检索字符串,没有返回-1
      • lastIndexOf(str,fromIndex):从后向前检索字符串
      • replace(要替换的字符串,替换成啥):字符串替换
      • substring(start,stop):截取字符串
      • substr(start,length):截取字符串,从哪开始,截取多长
  • 和html相关方法的举例:

var str = "abcd";
println(str);
// document.write(str.bold());
println(str.bold());

println(mybold(str));

function mybold(str){
    var result = "<b>"+str+"</b>";
    return result;
}

println(str.fontcolor("red"));

println(str.link("http://www.baidu.com"));

println("3"+"2".sup());


  • 定义一个方法:可以去掉字符串两边的空格
function mytrim(str){
var start = 0;
var end = str.length-1;
while(start <= end && str.charAt(start) == " "){
start++;
}
while(start <= end && str.charAt(end) == " "){
end--;
}
return str.substring(start,end+1);
}

var str = " sc e ";
alert("-"+str+"-");
alert("-"+mytrim(str)+"-");


Array对象

  • 声明数组
    • var arr = [12,33];
    • var arr = new Array(4,4)
  • 属性:length:长度
  • 方法:
    • concat(元素,数组):连接两个或更多的数组或元素,并返回结果。
    • join(s):把数组的所有元素放入一个字符串。元素通过指定的分隔符(s)进行分隔。
    • pop():删除并返回数组的最后一个元素
    • push():向数组的末尾添加一个或更多元素,并返回新的长度。
    • sort():对数组的元素进行排序
    • shift(): 删除并返回数组的第一个元素
自定义join的方法:
function myjoin(str,type){
var result = "";
for(var x=0;x<str.length;x++){
if(x != str.length-1){
result += arr[x]+type;
}else{
result += arr[x];
}
}
return result;
}


Date日期对象

  • 创建Date对象:var date = new Date();

  • 常用方法:

    • getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)
    • getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)
    • getMonth() 从 Date 对象返回月份 (0 ~ 11)
    • getFullYear() 从 Date 对象以四位数字返回年份
    • getTime() 返回 1970 年 1 月 1 日至今的毫秒数
    • setTime() 通过毫秒数获取日期
      • var date3 = new Date(1415937050973);
    • parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数
      • 2014-11-14 解析不了
      • 11/14/2014 可以解析
      • 2014,11,14 可以解析
    • toLocaleString() ,根据本地时间格式把 Date对象,转换本地的日期格式。
    • toLocaleDateString() 只包含日期
    • toLocaleTimeString() 只包含时间


Math对象(静态方法)

  • 常用方法:
    • ceil(x) 对一个数进行上舍入。
    • floor(x) 对一个数进行下舍入。
    • round(x) 把一个数四舍五入为最接近的整数
    • pow(x,y) 返回 x 的 y 次幂
    • random() 返回 0 ~ 1 之间的随机数
获取010之间的随机数。
for(var x = 0;x<10;x++){
var num = Math.random()*10+1;
println(Math.floor(num));
}


RegExp对象

  • 正则表达式对象
  • 应用:编写注册的表单,对表单输入的内容进行校验。

  • 正则表达式对象的两种写法

    • (1)var reg = new RegExp(“表达式”);(开发中不经常使用)
      • eg: var reg = new RegExp(“[0-9]{5}”);
    • (2-1)var reg = /表达式/ 开发中经常使用
    • (2-2)var reg = /^表达式$/ 开发中经常使用
      • eg: var reg = /^[0-9]{5}$/;
  • 正则表达式对象提供了两个方法

    • exec(): 如果采用(1)方式,字符串中包含匹配的内容会返回结果。如果采用(2)方式会返回null

    • test(): 如果采用(1)方式,字符串中包含匹配的结果会返回true。如果采用(2)方式会返回false。开发中经常使用。


全局函数

  • 使用全局函数,不需要任何的对象。
  • 全局函数可以拿过来使用。
  • global帮着管理全局函数。
常见全局函数
  • eval():可以解析字符串,执行字符串中间的js代码
  • isNaN():判断参数是否是非数字值
  • parseInt():解析字符串,返回整数

  • encodeURI():对中文进行编码URI

  • decodeURI():对中文解析解码URI

  • encodeURIComponent(): 编解码URI组件

  • decodeURIComponent()

  • escape() :对字符串进行unicode编码

  • unescape()
encodeURI / decodeURI   编解码URI 
进行url跳转时可以整体使用encodeURI 
encodeURIComponent / decodeURIComponent  编解码URI组件
传递参数时需要使用encodeURIComponent 
escape / unescape  对字符串进行unicode编码
     escape不编码字符有69个:*,+,-,.,/,@,_,0-9a-z,A-Z 
 encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:;,=,?,@,_,~,0-9,a-z,A-Z 
     encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9a-z,A-Z 


BOM 浏览器对象模型

  • Window : 窗口对象(重点)
    • Document:文档对象
  • Navigator : 和浏览器版本相关的对象()
  • Screen : 和屏幕相关的对象()
  • History : 和浏览器历史相关()
  • Location : 和浏览器地址相关的对象(重点)

Window 窗口对象

  • Window 对象表示浏览器中打开的窗口
  • 如果文档包含框架(frameiframe 标签),浏览器会为 HTML 文档创建一个* window 对象,并为每个框架创建一个额外*的 window 对象
  • window.frames 返回窗口中所有命名的框架
  • parent是父窗口(如果窗口是顶级窗口,那么parent==self==top)
  • top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe)
  • self是当前窗口(等价window)
  • opener是用open方法打开当前窗口的那个窗口
* window 常用方法*
  • alert() : 弹出提示框

  • confirm(“参数”) : 询问框

    • 提供俩按钮,确定和取消
    • 如果点击是确定,返回true,如果点击取消,返回false
  • moveBy() : 移动浏览器

  • setInterval(“函数”,毫秒值) 定时相关的

    • 每隔毫秒值执行一次函数
    • 返回唯一的id值
  • setTimeout(“函数”,毫秒值)

    • 到了毫秒值后执行一次函数
    • 返回唯一的id值
  • 清除定时

    • clearInterval(id的值)
    • clearTimeout()
  • close() 关闭浏览器的窗口

  • open() 打开浏览器窗口

    • 属性:
      • opener 返回对创建此窗口的窗口的引用。
  • userAgent 获取浏览器的相关的信息
    • window.navigator.userAgent window可以省略不写

History对象

  • back() 返回上一个页面
  • forward() 去下一个页面
  • go()
    • go(1) 等于forward()
    • go(-1) 等于back()

Location 对象

  • href 获取和设置浏览器的路径(重点)
    • location.href = "http://www.baidu.com";

document对象

  • document.getElementById(“nameId”); 获取到是input标签的对象

你可能感兴趣的:(bom,java进阶,Window窗口对象,js函数与变量,js对象与API)