day 33js 后续 函数.对象
前情提要:
今天学习的是js的函数以及简单的类的使用
一:函数的初识别
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
// <!--函数声明不需要加上关键字var-->
function sayhello (name) {
document.write("<h1>"+"hello"+name+"</h1>")
}
function getname() {
return "小宝"
}
get1name =function (name) {
return "大宝"
}
// 如果函数有参数,调用时需要传入参数
sayhello("咱三") var username =getname()
document.write(username)
var username1 =get1name()
document.write(username1)
</script>
</head>
<body> </body>
</html>
二:全局变量以及局部变量
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
// <!--全局变量,可以被该页面中的所有函数引用-->
var num =10;
function test1() {
//加上var 浏览器就会在去全局中定义该函数 num1 =12;
var num3 =21;
// 局部变量只有当前函数中有效
document.write(num+"<br>");
document.write(num1+"<br>");
document.write(num3+"<br>")
}
function test2(){
document.write(num+"<br>");
document.write(num1+"<br>");
document.write(num3+"<br>");
}
test1();
test2()
</script>
</head>
<body> </body>
</html>
三:自定义对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
// <!--自定义对象-->
function Person() { }
//使用new 关键字创建对象
var person =new Person();
//给person 对象增加name属性
person.name ="张三";
// 给person 对象增加age属性 person.age =18;
// 给person 对象增加eat 方法
person.eat =function () {
document.write(this.name +"正在吃饭")
}; // 调用属性
document.write(person.name,person.age+"<br>");
//调用方法
person.eat()
</script> </head>
<body> </body>
</html>
四:创建对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
function Person(name,age) {
this.name =name;
this.age =age;
// this.sleep =function () {
// alert(this.name+'正在树胶')
// }
this.sleep =function () {
alert(this.name +"正在睡觉")
} }
// var person =new Person("李四",20);
// document.write(typeof person)
document.write(person.name);
document.write(person.age); person.sleep()
</script>
</head>
<body> </body>
</html>
五:使用object 创建对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var person =new Object();
person.name ="小钟";
person.age =25;
person.code =function (something) {
document.write(this.name+"正在做"+something)
};
person.code("作业")
</script>
</head>
<body> </body>
</html>
六:使用json 创建对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var person ={
name :"太白金星",
age :20,
run :function () {
alert(this.name+"正在跑步");
}
};
person.run() </script>
</head>
<body> </body>
</html>
七:string 对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
let s1 ="10";
let s2 =new String("10");
alert("s1==s2"+(s1==s2))
</script>
</head>
<body> </body>
</html>
八:string的常用方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var counter ="中国".fontcolor("red");
document.write(counter.concat("<br>"));
var str ="Hello World Hello World";
document.write(str.charAt(6) + "<br/>"); //根据索引查找字符
document.write(str.charCodeAt(6)+"<br>"); //根据字符查找unideo的编码
document.write(str.indexOf("World")+"<br>"); //查询字符串中指定字符串的第一次出现的索引值
document.write(str.substring(12,17)+"<br>"); //提取12到17索引出现的内容
document.write(str.valueOf()) //返回本身内容 </script>
</head>
<body> </body>
</html>
九:实现字符串的翻转
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
//定义一个函数实现字符串的翻转功能
function reverse(srcStr) {
var temstr =''
for (i=srcStr.length -1;i>=0;i--){
var c =srcStr.charAt(i)
temstr+=c
}
return temstr
}
var s =reverse("abcd")
alert(s)
</script>
</head>
<body> </body>
</html>
十:number 对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var s =10;
var s1 =new Number(10)
var s2 ="11"
var s3 =new Number("a11")
/*
执行parseInt函数的时候,默认它只会把字符串第一个非数字(包含空格)前面字符进行转换。
如果第一个字符是非数字(不包含空格),那么转换结果为NaN。
*/
var num =parseInt(s3)
document.write(typeof s)
document.write(typeof s1)
document.write(typeof s2)
document.write(typeof s3)
document.write(s3)
document.write(num) </script>
</head>
<body> </body>
</html>
十一:math 对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
document.write("绝对值"+Math.abs(-10)+"<br>")
document.write("向上取整"+Math.ceil(3.14)+"<br>")
document.write("向下取整"+Math.floor(3.14)+"<br>")
document.write("四舍五入"+Math.round(3.6)+"<br>")
document.write("求最大值"+Math.max(3,5)+"<br>")
document.write("求最小值"+Math.min(3,5)+"<br>")
document.write("生成随机数"+Math.random(1,5)+"<br>") </script>
</head>
<body> </body>
</html>
十二:生成4位数验证码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var num ='';
for (i=1 ;i<5;i++){
var s1 =Math.floor(Math.random()*10)
num =s1+num
}
document.write(num) </script>
</head>
<body> </body>
</html>
十三:date 对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
function getdate(d) {
var dd = d.getDate() //获取日
var mm =d.getMonth()+1 //获取月
var yy =d.getFullYear() //获取年
var hh =d.getHours() //获取小时
var min =d.getMinutes() //获取分
var sec =d.getSeconds() //获取秒
return yy +"年" +mm +"月"+dd+"日"+hh+"时"+min+"分"+sec+"秒"
}
var dd =new Date()
document.write(dd+"<br>")
var time1 =dd.getDate()
document.write(time1+"<br>")
var times1 =getdate(dd);
document.write(times1) </script>
</head>
<body> </body>
</html>
十四:array 对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var arr4 =[10,20,30]
var arr5 =[11,22,33]
arr4 =arr4.concat(arr5,99,100)
document.write(arr4+"<br>")
document.write(arr4[0]+"<br>")
document.write(arr4[1]+"<br>")
for (i=1;i<arr4.length;i++){
document.write(arr4[i]+"<br>")
}
</script>
</head>
<body> </body>
</html>
十五:对象的常用方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
function join(arr,sep) {
var arrstr=''
for (var i=0;i<arr.length;i++){
arrstr =arrstr+arr[i] +sep }
return arrstr.substring(0,arrstr.length-1) }
var arr =["java","python","go"]
var str =arr.join('-')
document.write(str)
</script>
</head>
<body> </body>
</html>
十六:扩展对象功能
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
// function search(arr,key) {
// for(i =0;i<arr.length;i++){
// if (arr[i]==key){
// return i
// }
// else {
// return -1
// }
//
// }
//
// }
// var arr =[1,2,3,4,5]
// var i =search(arr,1)
// alert(i)
// seach1 =function (arr,key) {
// for(i =0;i<arr.length;i++){
// if (arr[i]==key){
// return i
// }
// else {
// return -1
// }
//
// }
// }
// var arr =[6,7,8,9,10]
// var i =seach1(arr,6)
// alert(i)
//
Array.prototype.search =function (key) {
for (i =0;i<this.length;i++){
if (this[i]==key){
return i
}
}
return -1;
}
var arr =[6,7,8,9,10]
var ss= arr.search(6)
document.write(ss)
</script>
</head>
<body> </body>
</html>
十七:push 和pop 方法
十八:resreve
十九:slice
二十:splice
二十一:sort
二十二:tofixed
day 33js 后续 函数.对象的更多相关文章
- python之函数对象、函数嵌套、名称空间与作用域、装饰器
一 函数对象 一 函数是第一类对象,即函数可以当作数据传递 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 二 利用该特性,优雅的取代多分支的if de ...
- python之旅:函数对象、函数嵌套、名称空间与作用域、装饰器
一 函数对象 一 函数是第一类对象,即函数可以当作数据传递 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 二 利用该特性,优雅的取代多分支的if de ...
- 函数对象(仿函数 functor)
简单地说,函数对象就是一个重载了()运算符的类实例,它可以像一个函数一样使用. #include <iostream> using namespace std; class Add { p ...
- javascript 利用匿名函数对象给你异步回调方法传参数
先来创建一个匿名函数对象: /*** * 匿名函数 */ var callChangeBtn=new function(bugBtn){ this.chage=function(json){ bugB ...
- 3.2 STL中的函数对象类模板
*: STL中有一些函数对象类模板,如下所示: 1)例如要求两个double类型的x 和y 的积,可以: multiplies<double>()(x,y); 该表达式的值就是x*y的值. ...
- C++模板中的函数对象
在C++模板类map中一个参数为Compare类型,该类型为一个比较函数,其完整定义如下: template< class Key, class T, class Compare = std:: ...
- C++ Pirmer : 第十四章 : 重载运算符与类型转换之函数调用运算符与标准库的定义的函数对象
函数调用运算符 struct test { int operator()(int val) const { return (i > 0 ? i : -i); } }; 所谓的函数调用就是一个类重 ...
- EffectiveJava——用函数对象表示策略
有些语言支持函数指针.代理.lambda表达式,或者支持类似的机制,允许程序把“调用特殊函数的能力”储存起来并传递这种能力.这种机制通常用于允许函数的调用者通过传入第二个函数,来指定自己的行为.比较器 ...
- python 学习笔记3(循环方式;list初始化;循环对象/生成器/表推导;函数对象;异常处理)
### Python的强大很大一部分原因在于,它提供有很多已经写好的,可以现成用的对象 16. 循环方式笔记: 1)range(0, 8, 2) #(上限,下限,步长) 可以实现对元素或者下标的 ...
随机推荐
- c#递归实现螺旋数组
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- easyjweb ejs 2014.2.25
一 .简单 easyjweb 项目 1. 创建一个web 项目 , 将easyjweb-corejar 包 和required 包下的所有jar 包拷到项目下. 2.写一个 action .. pa ...
- KbmMW 服务器架构简介
kbmmw 由于文档比较少,很多同学开始用时很难理解.一直准备写一个关于kbmmw 架构的东西. 这几天与红鱼儿(blog)研究服务器线程时,整理了一下,大概画了一下kbmmw (版本4.5)服务器的 ...
- 2018.07.22 洛谷P3047附近的牛(树形dp)
传送门 给出一棵n" role="presentation" style="position: relative;">nn个点的树,每个点上有C ...
- hdu-1207(规律推导)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1207 思路: 可以按照类似汉诺塔的推导形式来推导, 首先,有四个柱子,a,b,c,d. (1)a的x个 ...
- 破解Excel密码
https://zhidao.baidu.com/question/98055974.html 方法:1\打开文件2\工具---宏----录制新宏---输入名字如:aa3\停止录制(这样得到一个空宏) ...
- 9) 依赖查询 & 镜像站
依赖查询 http://mvnrepository.com/ Maven仓库查询 http://search.maven.org 仓库 加上这两个,如果使用中央仓库 Eclipse 极有可能会卡死 & ...
- OpenGL + MFC
OpenGL超级宝典(中文版) 2001年 本书是一本完整而详尽的关于OpenGL的参考书,全书分为四部分:第一部分“OpenGL导言”介绍3D图形学的基本原理,读者将在此学会构造使用OpenGL的程 ...
- AE和Mocha结合做视频后期制作
AE:After Effects Mocha:视频图像追踪软件 智能抠像 前提:安装QuickTime视频编码器!4.1版,不然视频无法预览播放 >>关于AE CC自带的mocha 插件和 ...
- Java性能调优:利用JFR生成性能日志
Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻. 好的分析工具能起到事半功倍的效果,利用分析利器JMC.JFR,可以实现性能问题的准确定位. 本文主要阐述如何利用JFR生成 ...