1. 1jsString对象
  2. ** 创建String对象
  3. *** var str = "abc";
  4.  
  5. ** 方法和属性(文档)
  6. *** 属性 length:字符串的长度
  7.  
  8. *** 方法
  9. 1)与html相关的方法
  10. - bold():加粗
  11. - fontcolor(): 设置字符串的颜色
  12. - fontsize(): 设置字体的大小
  13.  
  14. - link(): 将字符串显示成超链接
  15. **** str4.link("hello.html")
  16.  
  17. - sub() sup(): 下标和上标
  18.  
  19. 2)与java相似的方法
  20. - concat(): 连接字符串
  21. ** //concat方法
  22. var str1 = "abc";
  23. var str2 = "dfg";
  24. document.write(str1.concat(str2));
  25.  
  26. - charAt():返回指定指定位置的字符串
  27. ** var str3 = "abcdefg";
  28. document.write(str3.charAt(20)); //字符位置不存在,返回空字符串
  29.  
  30. - indexOf(): 返回字符串位置
  31. ** var str4 = "poiuyt";
  32. document.write(str4.indexOf("w")); //字符不存在,返回-1
  33.  
  34. - split():切分字符串,成数组
  35. ** var str5 = "a-b-c-d";
  36. var arr1 = str5.split("-");
  37. document.write("length: "+arr1.length);
  38.  
  39. - replace() 替换字符串
  40. * 传递两个参数:
  41. -- 第一个参数是原始字符
  42. -- 要替换成的字符
  43. * var str6 = "abcd";
  44. document.write(str6);
  45. document.write("<br/>");
  46. document.write(str6.replace("a","Q"));
  47.  
  48. - substr()和substring()
  49. * var str7 = "abcdefghuiop";
  50. //document.write(str7.substr(5,5)); //fghui 从第五位开始,向后截取五个字符
  51. *** 从第几位开始,向后截取几位
  52.  
  53. document.write("<br/>");
  54. document.write(str7.substring(3,5)); //de 从第几位开始到第几位结束 [3,5)
  55. *** 从第几位开始,到第几位结束,但是不包含最后哪一位
  56.  
  57. 2jsArray对象
  58. ** 创建数组(三种)
  59. - var arr1 = [1,2,3];
  60. - var arr2 = new Array(3); //长度是3
  61. - var arr3 = new Array(1,2,3); //数组中的元素是1 2 3
  62.  
  63. - var arr = []; //创建一个空数组
  64.  
  65. ** 属性:length:查看数组的长度
  66.  
  67. ** 方法
  68. - concat方法: 数组的连接
  69. * var arr11 = [1,2,3];
  70. var arr12 = [4,5,6];
  71. document.write(arr11.concat(arr12));
  72.  
  73. - join():根据指定的字符分割数组
  74. * var arr13 = new Array(3);
  75. arr13[0] = "a";
  76. arr13[1] = "b";
  77. arr13[2] = "c";
  78.  
  79. document.write(arr13);
  80. document.write("<br/>");
  81. document.write(arr13.join("-"));
  82.  
  83. - push():向数组末尾添加元素,返回数组的新的长度
  84. ** 如果添加的是一个数组,这个时候把数组当做一个整体字符串添加进去
  85.  
  86. * //push方法
  87. var arr14 = new Array(3);
  88. arr14[0] = "tom";
  89. arr14[1] = "lucy";
  90. arr14[2] = "jack";
  91. document.write("old array: "+arr14);
  92.  
  93. document.write("<br/>");
  94. document.write("old length:"+arr14.length);
  95.  
  96. document.write("<br/>");
  97. document.write("new length: "+arr14.push("zhangsan"));
  98.  
  99. document.write("<br/>");
  100. document.write("new array: "+arr14);
  101.  
  102. * var arr15 = ["aaa","bbb","ccc"];
  103. var arr16 = ["www","qqq"];
  104.  
  105. document.write("old array:"+arr15);
  106. document.write("<br/>");
  107. document.write("old length:"+arr15.length);
  108.  
  109. document.write("<br/>");
  110. document.write("new length:"+arr15.push(arr16));
  111. document.write("<br/>");
  112. document.write("new array: "+arr15);
  113. for(var i=0;i<arr15.length;i++) {
  114. alert(arr15[i]);
  115. }
  116.  
  117. - pop():表示 删除最后一个元素,返回删除的那个元素
  118. * var arr17 = ["zhangsan","lisi","wangwu","zhaoliu"];
  119. document.write("old array: "+arr17);
  120. document.write("<br/>");
  121.  
  122. document.write("return: "+arr17.pop());
  123. document.write("<br/>");
  124. document.write("new array: "+arr17);
  125.  
  126. - reverse():颠倒数组中的元素的顺序
  127. * var arr17 = ["zhangsan","lisi","wangwu","zhaoliu"];
  128. document.write("old array: "+arr17);
  129. document.write("<br/>");
  130.  
  131. document.write("return: "+arr17.pop());
  132. document.write("<br/>");
  133. document.write("new array: "+arr17);
  134.  
  135. //reverse方法
  136. document.write("<hr/>");
  137. var arr18 = ["zhangsan1","lisi1","zhaoliu1","niuqi1"];
  138. document.write("old array: "+arr18);
  139. document.write("<br/>");
  140. document.write("new array:"+arr18.reverse());
  141.  
  142. 3jsDate对象
  143. ** java里面获取当前时间
  144. Date date = new Date();
  145. //格式化
  146. //toLocaleString() //2015年4月17日 11:17:12
  147.  
  148. ** js里面获取当前时间
  149. var date = new Date();
  150. //获取当前时间
  151. var date = new Date();
  152. document.write(date); // Fri Apr 17 10:47:46 UTC+0800 2015
  153.  
  154. //转换成习惯的格式
  155. document.write("<hr/>");
  156. document.write(date.toLocaleString());
  157.  
  158. ** 获取当前的年方法
  159. getFullYear():得到当前的年
  160. **** document.write("year: "+date.getFullYear());
  161.  
  162. ** 获取当前的月方法
  163. getMonth():获取当前的月
  164. *** 返回的是 0-11月,如果想要得到准确的值,加1
  165. **** var date1 = date.getMonth()+1;
  166. document.write("month: "+date1);
  167.  
  168. ** 获取当前的星期
  169. getDay():星期,返回的是 (0 ~ 6)
  170. ** 外国朋友,把星期日作为一周的第一天,星期日返回的是 0
  171. 而星期一到星期六 返回的是 1-6
  172. ** document.write("week: "+date.getDay());
  173.  
  174. ** 获取当前的日
  175. getDate():得到当前的天 1-31
  176. ** document.write("day: "+date.getDate());
  177.  
  178. ** 获取当前的小时
  179. getHours():获取小时
  180. ** document.write("hour: "+date.getHours());
  181.  
  182. ** 获取当前的分钟
  183. getMinutes():分钟
  184. ** document.write("minute: "+date.getMinutes());
  185.  
  186. ** 获取当前的秒
  187. getSeconds():
  188. ** document.write("second: "+date.getSeconds());
  189.  
  190. ** 获取毫秒数
  191. getTime()
  192. 返回的是1970 1 1 至今的毫秒数
  193.  
  194. ** 应用场景:
  195. *** 使用毫秒数处理缓存的效果(不有缓存)
  196. http://www.baidu.com?毫秒数
  197.  
  198. 4jsMath对象
  199. * 数学的运算
  200. ** 里面的都是静态方法,使用可以直接使用 Math.方法()
  201.  
  202. ** ceil(x): 向上舍人
  203.  
  204. ** floor(x):向下舍人
  205.  
  206. ** round(x):四舍五入
  207.  
  208. ** random():得到随机数(伪随机数)
  209. - 得到0-9的随机数
  210. Math.random()*10
  211. Math.floor(Math.random()*10));
  212.  
  213. 5js的全局函数
  214. * 由于不属于任何一个对象,直接写名称使用
  215.  
  216. ** eval() 执行js代码(如果字符串是一个js代码,使用方法直接执行)
  217. **** var str = "alert('1234');";
  218. //alert(str);
  219. eval(str);
  220.  
  221. ** encodeURI() :对字符进行编码
  222. - %E6%B5%8B%E8%AF%95%E4%B8%AD%E6%96%87aaa1234
  223.  
  224. decodeURI() :对字符进行解码
  225.  
  226. encodeURIComponent() decodeURIComponent()
  227.  
  228. ** isNaN():判断当前字符串是否是数字
  229. -- var str2 = "aaaa";
  230. alert(isNaN(str2));
  231. *** 如果是数字,返回false
  232. *** 如果不是数字,返回true
  233.  
  234. ** parseInt():类型转换
  235. ** var str3 = "123";
  236. document.write(parseInt(str3)+1);
  237.  
  238. 6js的函数的重载
  239. ** 什么是重载?方法名相同,参数不同
  240.  
  241. ** js的重载是否存在? 不存在
  242. ** 调用最后一个方法
  243. ** 把传递的参数保存到 arguments数组里面
  244.  
  245. ** js里面是否存在重载?(面试题目)
  246. 1js里面不存在重载。
  247. 2)但是可以通过其他方式模拟重载的效果 (通过aruguments数组来实现)
  248.  
  249. *** function add1() {
  250. //比如传递的是两个参数
  251. if(arguments.length == 2) {
  252. return arguments[0]+arguments[1];
  253.  
  254. } else if (arguments.length == 3) {
  255. return arguments[0]+arguments[1]+arguments[2];
  256.  
  257. } else if (arguments.length == 4) {
  258.  
  259. return arguments[0]+arguments[1]+arguments[2]+arguments[3];
  260. } else {
  261. return 0;
  262. }
  263. }
  264.  
  265. 7jsbom对象
  266. ** bombroswer object model: 浏览器对象模型
  267.  
  268. ** 有哪些对象?
  269. *** navigator 获取客户机的信息(浏览器的信息)
  270. - navigator.appName
  271. - document.write(navigator.appName);
  272.  
  273. *** screen: 获取屏幕的信息
  274. - document.write(screen.width);
  275. document.write("<br/>");
  276. document.write(screen.height);
  277.  
  278. *** location: 请求url地址
  279. - href属性
  280. **** 获取到请求的url地址
  281. - document.write(location.href);
  282.  
  283. **** 设置url地址
  284. - 页面上安置一个按钮,按钮上绑定一个事件,当我点击这个按钮,页面可以跳转到另外一个页面
  285. - location.href = "hello.html";
  286.  
  287. **** <input type="button" value="tiaozhuan" onclick="href1();"/>
  288. - 鼠标点击事件 onclick="js的方法;"
  289.  
  290. *** history:请求的url的历史记录
  291. - 创建三个页面
  292. 1、创建第一个页面 a.html 写一个超链接 b.html
  293. 2、创建b.html 超链接 c.html
  294. 3、创建c.html
  295.  
  296. - 到访问的上一个页面
  297. history.back();
  298. history.go(-1);
  299.  
  300. - 到访问的下一个页面
  301. history.forward();
  302. history.go(1);
  303.  
  304. **** window(****)
  305. * 窗口对象
  306. * 顶层对象(所用的bom对象都是在window里面操作的)
  307.  
  308. ** 方法
  309. - window.alert() : 页面弹出一个框,显示内容
  310. ** 简写alert()
  311.  
  312. - confirm(): 确认框
  313. - var flag = window.confirm("显示的内容");
  314.  
  315. - prompt(): 输入的对话框
  316. - window.prompt("please input : ","0");
  317. - window.prompt("在显示的内容","输入框里面的默认值");
  318.  
  319. - open() : 打开一个新的窗口
  320. ** open("打开的新窗口的地址url","","窗口特征,比如窗口宽度和高度")
  321. - 创建一个按钮,点击这个按钮,打开一个新的窗口
  322. - window.open("hello.html","","width=200,height=100");
  323.  
  324. - close(): 关闭窗口(浏览器兼容性比较差)
  325. - window.close();
  326.  
  327. - 做定时器
  328. ** setInterval("js代码",毫秒数) 1秒=1000毫秒
  329. - 表示每三秒,执行一次alert方法
  330. window.setInterval("alert('123');",3000);
  331.  
  332. ** setTimeout("js代码",毫秒数)
  333. - 表示在毫秒数之后执行,但是只会执行一次
  334.  
  335. - 表示四秒之后执行js代码,只会执行一次
  336. window.setTimeout("alert('abc');",4000);
  337.  
  338. ** clearInterval(): 清除setInterval设置的定时器
  339. var id1 = setInterval("alert('123');",3000);//通过setInterval会有一个返回值
  340. clearInterval(id1);
  341.  
  342. ** clearTimeout() : 清除setTimeout设置的定时器
  343. var id2 = setTimeout("alert('abc');",4000);
  344. clearTimeout(id2);
  345.  
  346. 8jsdom对象(****)
  347. * domdocument object model: 文档对象模型
  348. ** 文档:
  349. 超文本文档(超文本标记文档) html xml
  350. ** 对象:
  351. 提供了属性和方法
  352. ** 模型:使用属性和方法操作超文本标记型文档
  353.  
  354. *** 可以使用js里面的dom里面提供的对象,使用这些对象的属性和方法,对标记型文档进行操作
  355.  
  356. *** 想要对标记型文档进行操作,首先需要 对标记型文档里面的所有内容封装成对象
  357. -- 需要把html里面的标签、属性、文本内容都封装成对象
  358.  
  359. *** 要想对标记型文档进行操作,解析标记型文档
  360. - 画图分析,如何使用dom解析html
  361.  
  362. *** 解析过程
  363. 根据html的层级结构,在内存中分配一个树形结构,需要把html中的每部分封装成对象,
  364. - document对象:整个文档
  365. - element对象:标签对象
  366. - 属性对象
  367. - 文本对象
  368.  
  369. -- Node节点对象:这个对象是这些对象的父对象
  370. *** 如果在对象里面找不到想要的方法,这个时候到Node对象里面去找
  371.  
  372. DOM模型有三种:
  373. DOM level 1:将html文档封装成对象。
  374. DOM level 2:在level 1的基础上添加新的功能,例如:对于事件和css样式的支持。
  375. DOM level 3:支持xml1.0的一些新特性。
  376.  
  377. * DHTML:是很多技术的简称
  378. ** html: 封装数据
  379. ** css:使用属性和属性值设置样式
  380. ** dom:操作html文档(标记型文档)
  381. ** javascript:专门指的是js的语法语句(ECMAScript
  382.  
  383. 9document对象
  384. * 表示整个的文档
  385.  
  386. ** 常用方法
  387. **** write()方法:
  388. 1)向页面输出变量(值)
  389. 2)向页面输出html代码
  390. - var str = "abc";
  391. document.write(str);
  392. document.write("<hr/>");
  393.  
  394. **** getElementById();
  395. - 通过id得到元素(标签)
  396. - //使用getElementById得到input标签
  397. var input1 = document.getElementById("nameid"); //传递的参数是标签里面的id的值
  398. //得到input里面的value值
  399. alert(input1.name); //标签对象.属性名称
  400. //向input里面设置一个值value
  401. input1.value = "bbbbb";
  402.  
  403. **** getElementsByName();
  404. - 通过标签的name的属性值得到标签
  405. - 返回的是一个集合(数组)
  406. - //使用getElementsByName得到input标签
  407. var inputs = document.getElementsByName("name1"); //传递的参数是 标签里面的name的值
  408. //alert(inputs.length);
  409. //遍历数组
  410. for(var i=0;i<inputs.length;i++) { //通过遍历数组,得到每个标签里面的具体的值
  411. var input1 = inputs[i]; //每次循环得到input对象,赋值到input1里面
  412. alert(input1.value); //得到每个input标签里面的value值
  413. }
  414.  
  415. **** getElementsByTagName("标签名称");
  416. - 通过标签名称得到元素
  417. - //演示getElementsByTagName
  418. var inputs1 = document.getElementsByTagName("input"); //传递的参数,是标签名称
  419. //alert(inputs1.length);
  420. //遍历数组,得到每个input标签
  421. for(var m=0;m<inputs1.length;m++) {
  422. //得到每个input标签
  423. var input1 = inputs1[m];
  424. //得到value值
  425. alert(input1.value);
  426. }
  427.  
  428. **** 注意地方
  429. **** 只有一个标签,这个标签只能使用name获取到,这个使用,使用getElementsByName返回的是一个数组,
  430. 但是现在只有一个元素,这个时候不需要遍历,而是可以直接通过数组的下标获取到值
  431. //通过name得到input标签
  432. var inputs2 = document.getElementsByName("name11")[0];
  433. alert(inputs2.value);
  434.  
  435. var inputss = document.getElementsByTagName("input")[0];
  436. alert(inputss.value);
  437.  
  438. 10、案例:window弹窗案例
  439. - 实现过程
  440. 1、创建一个页面
  441. ** 有两个输入项和一个按钮
  442. ** 按钮上面有一个事件:弹出一个新窗口 open
  443.  
  444. 2、创建弹出页面
  445. ** 表格
  446. ** 每一行有一个按钮和编号和姓名
  447. ** 按钮上有一个事件:把当前的编号和姓名,赋值到第一个页面相应的位置
  448.  
  449. ****//实现s1方法
  450. function s1(num1,name1) {
  451. //需要把num1和name1赋值到window页面
  452. //跨页面的操作 opener:得到创建这个窗口的窗口 得到window页面
  453. var pwin = window.opener; //得到window页面
  454. pwin.document.getElementById("numid").value = num1;
  455. pwin.document.getElementById("nameid").value = name1;
  456. //关闭窗口
  457. window.close();
  458. }
  459.  
  460. - opener:属性,获取创建当前窗口的窗口
  461.  
  462. - 做这个案例时候会有一个问题
  463. *** 由于我们现在访问的是本地文件,js安全性,谷歌浏览器安全级别很高,不允许访问本地文件
  464. *** 在实际开发中,没有这样的问题,实际中不可能访问本地的文件。
  465. *** http://www.baidu.com

Javaweb之JavaScript结合(二)的更多相关文章

  1. 学习javascript数据结构(二)——链表

    前言 人生总是直向前行走,从不留下什么. 原文地址:学习javascript数据结构(二)--链表 博主博客地址:Damonare的个人博客 正文 链表简介 上一篇博客-学习javascript数据结 ...

  2. 初探JavaScript(二)——JS如何动态操控HTML

    除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次 ...

  3. 从头开始学JavaScript (十二)——Array类型

    原文:从头开始学JavaScript (十二)--Array类型 一.数组的创建 注:ECMAscript数组的每一项都可以保存任何类型的数据 1.1Array构造函数 var colors = ne ...

  4. 使用JavaScript生成二维码教程-附qrcodejs中文文档

    使用javascript生成二维码 依赖jquery 需要使用到的库 https://github.com/davidshimjs/qrcodejs DIV <div id="qrco ...

  5. 同事问如何判断同花顺,我用javascript的二维数组写了个简易demo

    有个前同事在群里问如何判断是否为同花顺我用javascript的二维数组写了个简易demo. <!DOCTYPE html> <html> <body> <s ...

  6. 2、JavaScript 基础二 (从零学习JavaScript)

     11.强制转换 强制转换主要指使用Number.String和Boolean三个构造函数,手动将各种类型的值,转换成数字.字符串或者布尔值. 1>Number强制转换 参数为原始类型值的转换规 ...

  7. Javascript面向对象二

    Javascript面向对象二 可以通过指定原型属性来对所有的对象指定属性, Object.prototype.name="zhangsan"; Object.prototype. ...

  8. QrCode C#生成二维码 及JavaScript生成二维码

    一 C#的二维码    示例: class Program { static void Main(string[] args) { QrEncoder qrEncoder = new QrEncode ...

  9. 一篇文章图文并茂地带你轻松学完 JavaScript 设计模式(二)

    JavaScript 设计模式(二) 本篇文章是 JavaScript 设计模式的第二篇文章,如果没有看过我上篇文章的读者,可以先看完 上篇文章 后再看这篇文章,当然两篇文章并没有过多的依赖性. 5. ...

随机推荐

  1. Centos7源码安装mysql及读写分离,互为主从

       Linux服务器 -源码安装mysql 及读写分离,互为主从   一.环境介绍: Linux版本: CentOS 7 64位 mysq版本: mysql-5.6.26 这是我安装时所使用的版本, ...

  2. CSS3 animation-fill-mode 属性

    现在专注于移动端开发项目,对于动画这个点是非常重要的,每当我遇到一个新的知识点,我就会和大家一起分享 animation-fill-mode :把物体动画地从一个地方移动到另一个地方,并让它停留在那里 ...

  3. Javascript代码摘录

    判断浏览器窗口高度 if (document.documentElement.clientHeight <800) { var elm = document.getElementById('Di ...

  4. JDK和Jython安装

    下载JAVA SE,下载地址请到oracle官方网站下载. JDK下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8- ...

  5. 【DB】SQLite学习笔记

    下载”System.Data.SQLite.DLL”,程序中添加引用即可 //创建数据库文件 SQLiteConnection.CreateFile("sqlitetest.db" ...

  6. 深入浅出分析C#接口的作用

    1.C#接口的作用 :C#接口是一个让很多初学C#者容易迷糊的东西,用起来好像很简单,定义接口,里面包含方法,但没有方法具体实现的代码,然后在继承该接口的类里面要实现接口的所有方法的代码,但没有真正认 ...

  7. 成为Java GC专家(3)—如何优化Java垃圾回收机制

    为什么需要优化GC 或者说的更确切一些,对于基于Java的服务,是否有必要优化GC?应该说,对于所有的基于Java的服务,并不总是需要进行GC优化,但前提是所运行的基于Java的系统,包含了如下参数或 ...

  8. Xcode 7.3.1的模拟器路径

    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Core ...

  9. SanDisk SecureAccess™ Software

    买了一个sandisk 的u盘,配套软件有空可以研究一下. QuickStartGuide_SanDiskSecureAccessV2.0.pdf http://www.sandisk.com/pro ...

  10. 关于新的man版本出现“无法解析 /usr/share/man/zh_CN/man1/ls.1.gz: 没有那个文件或目录“

    今天学习了下man,有关详细资料参考:http://www.cnblogs.com/hnrainll/archive/2011/09/06/2168604.html toor@door:/usr/sh ...