java-前端之js
js:
js的三种形式:
<!-- 事件:就是用户的操作或者动作,就是js被调用的时机;如:单机事件,双击事件 -->
<!-- 1.事件定义式:在定义事件时直接写js -->
<input type="button" value="btn1" onclick="alert('点我干嘛')"/>
<!-- 2.嵌入式:在script标签内写js该标签可以写在网页的任意位置 -->
//js注释和java一样/**/
/*1.js中的函数都是公有的因此不用修饰符修饰*/
/*2.js中的函数不用声明返回值类型*/
function f2(){
//js中单引号和双引号一样
alert("点你咋啦");}
<!-- 3.文件调用式:在js文件内写js -->
<script src="my.js"></script>
js中:
//直接所写的代码有两种情况
//1.定义函数,该函数是在页面加载后用户点击按钮时调用的.
//2.直接书写js,这样的js是在页面加载时直接调用的,其调用的时机甚至比body还早.有可能出现某些标签获取为为定义状态;
//alert("谁让你打开的");
console.log("控制台打印一下");
//1..声明变量并输出到浏览器控制台
var x;
console.log(x);
x = 5;
console.log(x);
x = "你妹";
console.log(x);
var y = 6;
console.log(y);
//2..数据类型
var s = "hello";
var n = 3.14;
var b = true;
console.log(s);
console.log(n);
console.log(b);
//3..隐式转换
console.log(s+n);
console.log(s+b);
console.log(n+b);
console.log(b+b);
//4..强制转换
console.log(parseInt(3.14));
console.log(parseInt("5.63"));
console.log(parseInt("zxc"));
console.log(parseInt(""));
//5..类型判断
console.log(typeof(s));
console.log(typeof(n));
console.log(isNaN(56));
console.log(isNaN("56"));
console.log(isNaN("a56"));
console.log(isNaN("zxc"));
console.log(isNaN(parseInt("")));
//6.运算符
console.log(5=="5");
console.log(5==="5");
//7.条件
//js可以用任何数据做条件,当以非boolean做条件时,空值等价于false,非空值等价于true
//空值:0,null,"",NaN,undefined
//这样设计的目的,时为了简化判断的逻辑.
var k = 0;
if(k){console.log("ok");}
var w = 6;
w && console.log("好");
//根据id获取标签
var input = document.getElementById("num");
js调试技巧:
1.看报错信息(在浏览器控制台看)
2.打桩(跟踪程序执行的过程,查看关键步骤变量的值)
3.排除法(删除一半代码保留一半代码看是否报错,用于定位问题)
js中api整理:
//1.String对象:主要的方法和Java一样,看看手册
//2.Number对象
var n = 3.1415926;
console.log(n.toFixed(3));
//3.Array对象
//1)如何创建数组
var a1 = ["zhangsan",25,false];
console.log(a1[0]);
var a2 = new Array();
a2.push("lisi");
a2.push(28);
a2.push(true);
console.log(a2[1]);
//结论:无论用什么方式创建出来的数组都一样,
//它们都是Object数组,可以存任意类型的数据.
//2.倒转方法
var arr = [5,12,8,1,6,4,7];
arr.reverse();
console.log(arr);
//3.排序方法
//由于js中的数组都是Object数组,所以:它默认按照字符串由小到大进行排序.
arr.sort();
console.log(arr);
arr.sort(function(a,b){
return a-b;
});
console.log(arr);
//4.Math--和Java相似,看看手册
//5.Date
//1)如何创建日期对象
var d1 = new Date();
console.log(d1);
var d2 = new Date("2017/10/01 10:00:00");
console.log(d2);
//2)如何格式化日期
console.log(d1.toLocaleDateString());
console.log(d1.toLocaleTimeString());
//3)读写时间分量
var y = d1.getFullYear();
var m = d1.getMonth()+1;
var d = d1.getDate();
var h = d1.getHours();
var mm = d1.getMinutes();
var s = d1.getSeconds();
var now = y+"年"+m+"月"+d+"日 "+h+"时"+mm+"分"+s+"秒";
console.log(now);
//6.RegExp
//1)如何创建正则对象
var str = "you can you up,no can no bb.";
var reg = /no/;
//2)正则对象的方法:test
//检测字符串内是否包含和正则相匹配的子串
console.log(reg.test(str));
//3)正则对象的方法:exec
//普通模式:
//从字符串内找出与正则相匹配的第1个子串
console.log(reg.exec(str));
//全局模式:
//第1次调用,则从字符串内找出与正则相匹配的第1个子串
//第n次调用,则从字符串内找出与正则相匹配的第n个子串
reg = /no/g;
console.log(reg.exec(str));
console.log(reg.exec(str));
console.log(reg.exec(str));
console.log(reg.exec(str));
//4)字符串中支持正则的方法
//replace,match,search
//看看手册
//7.Function对象
//声明函数,即定义函数对象
function sum() {
var s = 0;
if(arguments.length) {
for(var i=0;i<arguments.length;i++) {
s += arguments[i];
}
}
return s;
}
//onload是页面加载事件,在页面加载完成时,由浏览器自动触发.
window.onload = function(){
//alert(1);
//1.读取节点的名称及类型
var p1 = document.getElementById("p1");
console.log(p1.nodeName);
console.log(p1.nodeType);
console.log(document.nodeName);
console.log(document.nodeType);
//2.读写节点的内容
//双标签中间的文本是内容,如<a>内容</a>
//innerHTML(带标签)
var p2 = document.getElementById("p2");
console.log(p2.innerHTML);
p2.innerHTML = "2.DOM操作包含<u>查询</u>节点";
//innerText(忽略标签)
var p3 = document.getElementById("p3");
console.log(p3.innerText);
p3.innerText = "3.DOM操作包含<u>增删</u>节点";
//3.读写节点的值
//表单控件(label除外)内的文字就是值
var input = document.getElementById("btn");
console.log(input.value);
input.value = "BBBBB";
//4.读写节点的属性
//1)通过get/set方法(可以读写任何属性)
var img = document.getElementById("i1");
console.log(img.getAttribute("src"));
img.setAttribute("src","../images/02.jpg");
img.removeAttribute("src");
//2)通过属性名(少数的几个属性可以用该方式)
//id, className, style
var a = document.getElementById("a1");
console.log(a.style.color);
a.style.color = "blue";}
我是初学者,如有更新不好的,欢迎这位大神指出,谢谢大家!
更多精彩以后更新,转载注明!
java-前端之js的更多相关文章
- paip.java 以及JavaScript (js) 的关系以及区别
paip.java 以及JavaScript (js) 的关系以及区别 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http:// ...
- java结合node.js非对称加密,实现密文登录传参——让前后端分离的项目更安全
前言 在参考互联网大厂的登录.订单.提现这类对安全性操作要求较高的场景操作时发现,传输的都是密文.而为了目前项目安全,我自己负责的项目也需要这方面的技术.由于,我当前的项目是使用了前后端分离技术, ...
- 前端分享----JS异步编程+ES6箭头函数
前端分享----JS异步编程+ES6箭头函数 ##概述Javascript语言的执行环境是"单线程"(single thread).所谓"单线程",就是指一次只 ...
- Atitit 深入理解命名空间namespace java c# php js
Atitit 深入理解命名空间namespace java c# php js 1.1. Namespace还是package1 1.2. import同时解决了令人头疼的include1 1.3 ...
- Atitit usbQb212 oo 面向对象封装的标准化与规范解决方案java c# php js
Atitit usbQb212 oo 面向对象封装的标准化与规范解决方案java c# php js 1.1. 封装性是面象对象编程中的三大特性之一 三个基本的特性:封装.继承与多态1 1.2. 魔 ...
- Atitit 电子商务订单号码算法(java c# php js 微信
Atitit 电子商务订单号码算法(java c# php js 微信 1.1. Js版本的居然钱三爷里面没有..只好自己实现了. 1.2. 订单号标准化...长度16位 1.3. 订单号的结构 前 ...
- paip.提高效率---集合的存取括号方式 uapi java python php js 的实现比较
paip.提高效率---集合的存取括号方式 uapi java python php js 的实现比较 ##java ----------- 在JDK1.7中,摒弃了Java集合接口的实现类,如:Ar ...
- 在Java中执行js代码
在某些特定场景下,我们需要用Java来执行Js代码(如模拟登录时,密码被JS加密了的情况),操作如下: ScriptEngineManager mgr = new ScriptEngineManage ...
- java中执行js代码
要在java中执行js代码,首先明白,java不支持浏览器本身的方法.支持自定义的js方法,否则会报错 先新建一个js文件:jsss.js 内容如下: function aa(a,b){ return ...
- 分享非常好用的前端分页js工具类 灵活 简单易懂
分享自己封装的前端分页js工具类 下面是默认样式效果截图 可以随意更改js及css 很灵活 /** * pageSize, 每页显示数 * pageIndex, 当前页数 * pageCount 总 ...
随机推荐
- GO的日志库log竟然这么简单!
前言 最近在尝试阅读字节开源RPC框架Kitex的源码,看到日志库klog部分,果不其然在Go原生的log库的基础上增加了自己的设计,大体包括增加了一些格式化的输出.增加一些常用的日志级别等. 一番了 ...
- SmartIDE v0.1.18 已经发布 - 助力阿里国产IDE OpenSumi 插件安装提速10倍、Dapr和Jupyter支持、CLI k8s支持
SmartIDE v0.1.18 (cli build 3538) 已经发布,在过去的Sprint 18中,我们集中精力推进对 k8s 远程工作区 的支持,同时继续扩展SmartIDE对不同技术栈的支 ...
- CabloyJS 基于 EggJS 实现的模块编译与发布
背景 现在,EggJS被许多开发团队所采用.有的团队基于商业知识产权的考量,往往会提一个问题:是否可以把EggJS当中的代码编译打包,然后再把代码丑化? 模块编译的机制 EggJS为何不能便利的实现编 ...
- 2.shell脚本99乘法表
shell脚本99乘法表 [root@localhost data]# vim cf.sh
- 微信0day复现
由于微信采用的是google内核,前些日子google爆出0day远程代码执行漏洞,但是需要关闭沙箱,而微信采用的是老版本google内核,默认关闭沙箱,因此只要微信用户点击恶意连接,可直接获取该PC ...
- 好用到爆!GitHub 星标 32.5k+的命令行软件管理神器,功能真心强大!
前言(废话) 本来打算在公司偷偷摸摸给星球的用户写一篇编程喵整合 MongoDB 的文章,结果在通过 brew 安装 MongoDB 的时候竟然报错了.原因很简单,公司这台 Mac 上的 homebr ...
- VisionPro · C# · 创建项目
将 VisionPro 引入 C# 项目程序中需要执行以下操作: 1.更改项目程序.NET框架: 2.添加编程引用: 3.添加界面设计控件引用: VisionPro 不同版本对应不同的 .NET 框架 ...
- 3. Caller 服务调用 - dapr
前言 上一篇我们讲了使用HttpClient的方式调用,那么如果我们现在需要更换为通过dapr实现服务调用,我们需要做哪些事情呢? Caller.Dapr 入门 如果我们的项目原本使用的是Caller ...
- Mysql中的小技巧
1.where 字段名 regexp '正则表达式' 正则符号: ^ $ . [ ] * | . 表示1个任意字符 * 表示前面重复0次,或者任意次 ^ 开始 $ 结尾 [] 范围 | 或 sql示例 ...
- java基础知识点梳理
前言 在别人追问我以下几个问题,自己在问题回答上不够全面和准确,对此自己把专门针对这几个问题进行总结! java相关问题 1.Java中构造方法跟普通方法的区别? 构造方法与普通方法的调用时机不同. ...