1.封装获取id:

function show(Id){
var aa=document.getElementById(Id);
return aa;
}

调用:console.log(show("nu"));

2.生肖判断if,else,显示对应的图片

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
#box{
font-size:150px;
color:#ff00ff;
}
</style>
</head>
<body>
<h1>生肖判断</h1>
<form action="" >
<p><input type="text" id="fm"></p>
<p><input type="button" value="点击" onclick="sheng()"></p>
<p><div id="box"></div></p>
</form>
</body>
<script>
function sheng(){
var fm=document.getElementById("fm").value;
var box=document.getElementById("box");
var info;
if(fm>2016||fm<0){
info="重新输入";
}
else {
fm=fm%12
if(fm==0){
info="猴";
}
else if(fm==1){
info="鸡";
}
else if(fm==2){
info="狗";
}
else if(fm==3){
info="猪";
}
else if(fm==4){
info="鼠";
}
else if(fm==5){
info="牛";
}
else if(fm==6){
info="虎 ";
}
else if(fm==7){
info="兔";
}
else if(fm==8){
info="龙";
}
else if(fm==9){
info="蛇";
}
else if(fm==10){
info="马";
}
else if(fm==11){
info="羊";
}
}
box.innerHTML=info;
} </script>
</html>

或者用switch--case

function check(){
var con=document.getElementById("content").value;
var info;
if (con>2016||con<0){
info="你别闹了好吗";
}
else{
con=con%12;
switch(con){
case 0:info="猴";break;
case 1:info="鸡";break;
case 2:info="狗";break;
case 3:info="猪";break;
case 4:info="鼠";break;
case 5:info="牛";break;
case 6:info="虎";break;
case 7:info="兔";break;
case 8:info="龙";break;
case 9:info="蛇";break;
case 10:info="马";break;
case 11:info="羊";break;
}
}
document.getElementById("boo").innerHTML=info;
}

3.数组

创建数组的方式:

第一种: var a = [] ;

第二种:   var b = new Array();

4.数组添加和删除

添加:

利用数组的长度,在数组的尾部插入新元素 length

push()    在数组的最后添加一个元素 依然是有序数组

unshift()  在数组的最开始位置添加一个元素,依然是有序数组。

删除

  改变数组长度删除其他元素,如果想要清空数组,可以将length设置为0

   pop()  删除数组的最后一个元素

  shift () 删除数组的第一个元素

   delete 运算符  不推荐使用,因为会变成稀疏数组

5.全选反选全不选

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
</head>
<body>
aaa<input type="checkbox">
aaa<input type="checkbox">
aaa<input type="checkbox">
aaa<input type="checkbox">
aaa<input type="checkbox">
aaa<input type="checkbox">
<button onclick="alla()">全选</button>
<button onclick="oppo()">反选</button>
<button onclick="norn()">全不选</button>
</body>
<script>
function getTag(tag){
return document.getElementsByTagName(tag);
} function alla(){
for(var i=0;i<getTag("input").length;i++){
getTag("input")[i].checked=true;
}
}
function oppo(){
for(var i=0;i<getTag("input").length;i++){
// if(getTag("input")[i].checked==false){
// getTag("input")[i].checked=true;
// }else{
// getTag("input")[i].checked=false;
// }
getTag("input")[i].checked=!getTag("input")[i].checked; }
}
function norn(){
for(var i=0;i<getTag("input").length;i++){
getTag("input")[i].checked=false;
}
}
</script>
</html>

6.

查看数组索引值:

Object.keys(attr)

7.callee用法:

Tip:因为callee 是属于arguments的一个属性,所以在使用的时候前面必须要arguments.callee

  callee是arguments对象的一个成员 表示对函数对象本身的引用 它有个length属性(代表形参的长度)

  

//callee可以打印其本身
function calleeDemo() {
alert(arguments.callee);
}
//用于验证参数
function calleeLengthDemo(arg1, arg2) {
if (arguments.length == arguments.callee.length) {
window.alert("验证形参和实参长度正确!");
return;
} else {
alert("实参长度:" + arguments.length);
alert("形参长度: " + arguments.callee.length);
}
}
//递归计算
var sum = function (n) {
if (n < = 0)
return 1;
else
return n +arguments.callee(n - 1)
}

caller
返回一个对函数的引用,该函数调用了当前函数。

functionName.caller

functionName 对象是所执行函数的名称。

说明
对于函数来说,caller 属性只有在函数执行时才有定义。 如果函数是由 Javascript 程序的顶层调用的,那么 caller 包含的就是 null 。

function callerDemo() {
if (arguments.caller) {
var a = callerDemo.caller.toString();
alert(a);
} else {
alert("this is a top function");
}
}
function handleCaller() {
callerDemo();
}
handleCaller();
function calleeDemo() {
alert(arguments.callee);
}
calleeDemo();

js技巧(二)的更多相关文章

  1. js基础进阶--编码实用技巧(二)

    我的个人博客:http://www.xiaolongwu.cn 接上篇文章 js编码的实用技巧(一) 5.合理利用||运算符 使用||可以作为参数之外的默认值,当第一个参数返回值为false时,那么第 ...

  2. JS技巧

    2016-08-09 200多个js技巧代码(Down) word下载 200多个js技巧代码 目录 1.文本框焦点问题... 6 2.网页按钮的特殊颜色... 6 3.鼠标移入移出时颜色变化... ...

  3. 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)

    目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...

  4. 提升开发幸福感的10条JS技巧

    鱼头总结一些能够提高开发效率的JS技巧,这些技巧很实用,觉得挺好,想推荐给大家,所以有了这篇文章. 生成随机UID const genUid = () => {  var length = 20 ...

  5. SQL开发技巧(二)

    本系列文章旨在收集在开发过程中遇到的一些常用的SQL语句,然后整理归档,本系列文章基于SQLServer系列,且版本为SQLServer2005及以上-- 文章系列目录 SQL开发技巧(一) SQL开 ...

  6. SQL开发技巧(二) 【转】感觉他写的很好

    本文转自: http://www.cnblogs.com/marvin/p/DevelopSQLSkill_2.html 本系列文章旨在收集在开发过程中遇到的一些常用的SQL语句,然后整理归档,本系列 ...

  7. Eclipse用法和技巧二十四:当git遇上eclipse

    git是非常优秀的代码管理工具,eclipse是非常不错的,免费的IDE.工作中两者碰到一起,有点麻烦了:eclipse对于每个项目会生成一些特定的文件,而这些文件又不是项目必须的,并且每个人的配置是 ...

  8. Eclipse用法和技巧二十五:eclipse图标的含义

    用了eclipse很久,在使用断点调试的时候才开始关注图标的含义.这才发现eclipse的图标还是很丰富的,熟悉的知道每个图标的含义还是蛮不错的,尤其是在断点调试中.eclipse自带了详细的图标说明 ...

  9. Eclipse用法和技巧二十八:Eclipse插件Easy Explore的今世

    先说明一下easyexplore插件的功能,easyexplore是一个类似于 Windows Explorer的Eclipse插件,它可以帮助你在不退出Eclipse的环境下迅速浏览本地文件系统. ...

  10. Eclipse用法和技巧二十七:定义自己的快速联想词

    某天在调试代码的时候,虽然是android的project还是习惯的输入syso,然后在ALT+/一下.旁边的同事就问了一下,这个log打印输出的tag是什么.接着又问了为什么syso能够智能联想出这 ...

随机推荐

  1. hdu3461

    题意描述:有一个类似滚轮式的密码锁放在一排共n个,有m种操作每次操作一个区间,且此次操作后的所有密码相同,问最多能形成多少种密码 解决:将区间分为可变部分和不可变部分,没当有可变部分时候总区间数要减去 ...

  2. noip模拟赛 花

    [问题描述]商店里出售n种不同品种的花.为了装饰桌面,你打算买m支花回家.你觉得放两支一样的花很难看,因此每种品种的花最多买1支.求总共有几种不同的买花的方案?答案可能很大,输出答案mod p的值. ...

  3. C# 解决EXCEL单元格合并,行高无法自适应问题

    解决方法:根据单元格内容长度,设置单元格所在行的行高 public static float getExcelCellAutoHeight(string strtest, float fontCoun ...

  4. poj 2455

    题意:由一个点走到另一个点,中间的点可以重复到达,但边只能经过一次,问T条边不重复的路径里,最长的边的最小值. 分析:由于点是可以重用的,因此不必拆点.这道题有重边,而且重边都必须保留,因为点是可以重 ...

  5. T1075 明明的随机数 codevs

    http://codevs.cn/problem/1075/ 时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题目描述 Description 明明想在学校中 ...

  6. linux 设置root可以远程登陆

    编辑/etc/ssh/sshd_config 设置 PermitRootLogin yes 重启ssh 服务 ubuntu service ssh start

  7. spring boot日期转换

    spring boot 作为微服务简易架构.拥有其自身的特点.快速搭建架构 简单 快捷.这里我只是简单的介绍下我遇到的其中的  两个问题.第一前台页面传递的时间类型 无法自动映射到Java的 Date ...

  8. Mybatis在Spring环境下的启动顺序

    主要看三个类: mybatis-spring-1.2.2.jar包 -> org.mybatis.spring.SqlSessionFactoryBean mybatis-3.2.6.jar包 ...

  9. qt自己定义搜索框(超简单,带效果图)

    1. 什么也不要说.先上效果图: 2. 代码 头文件: #ifndef APPSEARCHLINE_H #define APPSEARCHLINE_H #include <QLineEdit&g ...

  10. influxDB系列(二)--查看数据库的大小

    google 搜索了好多文档,终于发现了这个靠谱的回答. https://groups.google.com/forum/#!topic/influxdb/I5eady_Ta5Y You can se ...