Javascript_02

1.js的String对象

  • 创建String对象var str="abc";

  • 方法和属性
    属性length;字符串长度
    (1)与 html 相关的方法

bold():加粗
fontcolor(): 设置字符串饿颜色
fontsize():设置字体大小
link():将字符串显示成超链接

str4.link(“hello.html”)
  • sub() sup():上标和下标
    (2)与 java 相似的方法

concat():连接字符串

var str1="abc";
var str2="dfg";
document.write(str1.concat(str2));   // abcdfg

charAt();返回指定位置的字符串

var str3="abcdefg";
document.write(str3.charAt(20)); //字符位置不存在,返回空字符串

indexOf():返回字符串位置

var str4="poiuyt";
document.write(str4.indexOf("w"));//若字符存在返回字符的索引位置,若不存在返回 -1

split():切分字符串,成数组

var str5="a-b-c-d";
var arr1=str5.split("-");
document.write("length:"+arr1.length);  //4

replace():替换字符串

var str6="abcd";
document.write(str6.replace("a","q"));  //qbcd

substr()substring()

var str7="abcdefghuiop";
document.write(str7.substr(5,5));   //fghui   从第五位开始,向后截取五个字符
document.write(str7.substring(53,5));   //de   从第几位开始,到第几位结束但是不包含最后那一位

2.js 的 Array 对象

创建数组(三种)

 var arr1=[1,2,3];
 var arr2=new array[3];  //长度是3
 var arr3=new array(1,2,3); //数组中的元素是 1,2,3
var arr=[];//创建一个空数组
  • 属性
    length:查看数组的长度
  • 方法:

concat() 方法:数组的连接
join():根据指定的字符分割数组

var arr13=new array(3);
arr13[0]="a";
arr13[1]="b";
arr13[2]="c";
document.write(arr13); //a,b,c
document.write("<br/>");
document.write(arr13.join("-"));//a-b-c

push():向数组末尾添加元素,返回数组的新的长度
如果是一个数组,这个时候把数组当做一个整体的字符串添加进去

var arr14=["lisi","lucy","coco"];
var arr15=["xixi","haha"];
document.write("arr14.push(arr15)");//4

pop():表示删除最后一个元素,返回删除的那个元素

var arr14=["lisi","lucy","coco"];
document.write("arr14.pop()");//coco
document.write("<br/>");
document.write("arr14");//lisi,lucy

reverse():颠倒数组中的元素的顺序

var arr14=["lisi","lucy","coco","cici"];
document.write("arr14.reverse()"); //cici,coco,lucy,lisi

3.js 的 Date 对象

  • js 获取当前的时间
var date=new Date();
document.write(date);// Fri Apr 17 10:47:46 UTF+0800 2019
  • 转换成习惯的格式
document.write(date.toLocaleString()); //2019年4月8日  10:26:10
  • 获取当前年的方法
document.write(date.getFullYear()); //2019 

  • 获取当前的月的方法

getMonth(): 获取当前的月
——返回的是0-11月,如果想要得到准确的值,加 1

document.write(date.getMonth()+1); // 4

*获取当前的星期
getDay():星期,返回的是(0~6)
——星期日返回的是零,而星期一到星期六返回的是1~6

  • 获取当前的日
    getDate ():得到当前的天 1-31
document.write(date.getDate());//8
  • 获取当前的小时
    getHours ():获取小时
document.write(date.getHours()); // 20
  • 获取当前的分钟
    getMinutes ():获取分钟
document.write(date.getMinutes()); // 53
  • 获取当前的秒
    getSeconds ():获取秒
document.write(date.getSeconds ()); // 48
  • 获取毫秒数
    gettime ():返回的是 1970 1 1 至今的毫秒数
    应用场景:
    使用毫秒数处理缓存的效果

4.js 的 Math 对象

  • 数学的运算
    ——里面的都是静态方法,使用可以直接使用 Math. 方法()

ceil (x):向上舍入
floor(x):向下舍入
round(x):四舍五入
random():得到随机数 (0.0~1.0之间的伪随机数)
——想得到 0~9 之间的随机数

Math.random()*10;
Math.floor(Math.random()*10);

5.js 的全局函数

  • 由于不属于任何一个对象,直接写名称使用

eval():执行 js 代码(如果字符串是一个 js 代码,使用方法直接执行)

var str="alert('1234');";
alert(str);//alert('1234');
eval(str);//1234

encodeURI():对字符进行编码
decodeURI():对字符进行解码
isNaN():判断当前字符串是否是数字

var str2="aaaa";
alert(isNaN(str2));//true

——如果是数字,返回 false
——如果不是数字,返回 true

parseInt():类型转换
——将字符串类型转换为数字类型

6.js 函数的重载

js 里面是否存在重载?不存在
(1)调用最后一个方法
(2)把传递的的参数保存到 arguments 数组里面
js 里面是否存在重载?(面试题目)

(1)js 里面不存在重载。
(2)但是可以通过其他方式模拟重载的效果(通过 arguments 数组来实现)

function add1(){
if(arguments.length==2)
{
return arguments[0]+arguments[1];
}
else if(arguments.length==3)
{
return arguments[0]+arguments[1]+arguments[2];
}
else if(arguments.length==4)
{
return arguments[0]+arguments[1]+arguments[2]+arguments[3];
}
else{
return 0;
}
}

7.js 的 bom 对象

bom:broswer object model:浏览器对象模型
有哪些对象?

navigator:获取客户机的信息(浏览器的信息)

navigator.appName
document.write(navigator.appName);

screen:获取屏幕的信息

document.write(screen.width);
document.write(screen.height);

location请求url地址
href属性

  • 获取到请求的url地址
document.write(location,href);

设置url地址

  • 页面上安置一个按钮,按钮上绑定一个事件,当我点击这个按钮,页面可以跳转到另外一个页面
<input type="button" value="dianji" onclick="href1()"/>//鼠标点击事件
js:
function href1(){
    //alert("a");
    location.href="../index.html"//跳转
}

history:请求的url的历史纪录

  • 创建三个页面
    1.创建第一个页面a.html写一个超链接到b.html
    2.创建第页面b.html写一个超链接到c.html
    3.创建第一个c.html
<input type="button" value="back" onclick="back1();"/>
<input type="button" value="qianjin" onclick="next1();"/>
js:
function back1(){
history.back();
}
function next1(){
    history.forward();
}

window:窗口对象

  • 顶层对象(所有的 bom 对象都是在 window 里面操作的)
    window.alert():页面弹出一个框,显示内容
    简写 alert()
    confirm():确认框
window.confirm("显示的内容")

2.jpg

prompt():输入对话框

window.prompt("please input:","0");
window.prompt("在显示的内容",“输入框里面的默认值”);

3.jpg

open():打开一个新的窗口
创建一个按钮,点击这个按钮,打开一个新的窗口

window.open(“c.html”,“”,“width=200,height=100”);

open("打开的新窗口的地址 url","","窗口特征,比如窗口宽度和高度");

4.jpg

close():关闭窗口(浏览器兼容性比较差)

window.close();

image.png

#做定时器

  • setInterval(“js 代码”,毫秒数) 1秒=1000毫秒
window.setInterval(“alert('123');”,3000);

表示每三秒,执行一次 alert 方法

  • setTimeout("js 代码",毫秒数)

表示在毫秒数之后执行,但只会执行一次

window.setTimeout("alert(‘abc’);",4000);

表示四秒之后执行 js 代码,只会执行一次

clearInterval():清除 setInterval 设置的定时器

var id1=window.setInterval(“alert('123');”,3000);
clearInterval(id1);

clearTimeout():清除 setTimeout 设置的定时器

var id2=window.setTimeout("alert(‘abc’);",4000);
clearTimeout(id2);

8.js 的dom 对象

dom:document object model:文档对象模型

文档:超文本文档(超文本标记文档)html、xml
对象:提供了属性和方法
模型:使用属性和方法操作超文本标记型文档

可以使用js里面的 dom 里面提供的对象,使用这些对象的属性和方法,对标记型文档进行操作

想要对标记型文档进行操作,首先需要对标记型文档里面的所有内容封装成对象
——需要把 html 里面的标签、属性、文本内容都封装成对象
要想对标记型文档进行操作,解析标记型文档
——画图分析,如何使用 dom 解析 html
解析过程:

根据html 的层级结构,在内存中分配一个树形结构,需要把 html 中的每部分封装成对象
document 对象:整个文档
element对象:标签对象
属性对象
文本对象
Node 节点对象:这个对象是这些对象的父对象
如果在对象里面找不到想要的方法,这个时候到 Node 对象里面去找

DHTML :是很多技术的简称

html :封装数据
css:使用属性和属性值设置样式
dom:操作 html 文档(标记型文档)
JavaScript:专门指的是 js 的语法语句(ECMAScript)

9.document 对象

表示整个的文档
常用方法:

write()方法:
(1)向页面输出变量值
(2)向页面输出 html 代码
getElementById()
通过 id 得到元素(标签)

//使用 getElementById 得到 input 标签
var input1=document.getElementById("nameid");  //传递的参数是标签里面的 id 的值
//得到 input 里面的 value 值
alert(input1.name)//标签对象.属性名称
//向 input 里面设置一个值value
input 1.value=“bbbbb”;

getElementsByName();
通过标签的 name 的属性值得到标签
返回的是一个集合(数组)

//使用getElementsByName得到 input 标签
var inputs=document.getElementsByName("name1");//传递的参数是
标签里面的 name 的值
//遍历数组
for(var i=0;i<inputs.length;i++){//通过遍历数组,得到每个标签里面的具体的值
var input1=inputs[i];  //每次循环得到的 input 对象,赋值到 inout1 里面
alert1(input1.value);  //得到每一个input 标签里面的 value值
}

getElementsByTagName(“标签名称”);
通过标签名称得到元素

//使用getElementsByName得到 input 标签
var inputs=document.getElementsByTagName("name1");//传递的参数是
标签名称
//遍历数组
for(var i=0;i<inputs.length;i++){//通过遍历数组,得到每个input 标签
var input1=inputs[i];  //每次循环得到的 input 标签,赋值到 inout1 里面
alert1(input1.value);  //得到每一个input 标签里面的 value值
}

注意:
只有一个标签,这个标签只能使用 name 获取到,使用 getElementsByName 返回的是一个数组,但是现在只有一个元素,这个时候不需要遍历,而是直接通过数组的下标获取到值

var inputs2=document.getElementsName(“name11”)[0];
alert(inputs2.value);
var inputss=document.getElementsByTagName(“name11”)[0];
alert(inputss.value);
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容

  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 8,618评论 0 3
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,037评论 0 21
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,360评论 0 0
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,721评论 0 8
  • 可爱的小女孩,一个气球就能happy一天。 原来,最想要的幸福,就是辣么简单啊!
    紫看片子阅读 428评论 0 3