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) #(上限,下限,步长) 可以实现对元素或者下标的 ...
随机推荐
- 2018.08.29 NOIP模拟 table(拓扑排序+建图优化)
[描述] 给出一个表格,N 行 M 列,每个格子有一个整数,有些格子是空的.现在需要你 来做出一些调整,使得每行都是非降序的.这个调整只能是整列的移动. [输入] 第一行两个正整数 N 和 M. 接下 ...
- 着重基础之—Java 8 Comparator: How to Sort a List (List排序)
着重基础之—Java 8 Comparator: How to Sort a List (List排序) 首先申明,这篇博客的内容不是我自己的知识,我是从国外网站搬来的,原因有二:1是因为大天朝对网络 ...
- 破解Excel密码
https://zhidao.baidu.com/question/98055974.html 方法:1\打开文件2\工具---宏----录制新宏---输入名字如:aa3\停止录制(这样得到一个空宏) ...
- UVa 12545 Bits Equalizer (贪心)
题意:给出两个等长的字符串,0可以变成1,?可以变成0和1,可以任意交换s中任意两个字符的位置,问从s变成t至少需要多少次操作. 析:先说我的思路,我看到这应该是贪心,首先,如果先判断s能不能变成t, ...
- qmake -简介
qmake 简化了在不同平台下开发项目时构建处理的过程. qmake 自动产生Makefiles文件,只需要几行信息来构建每个Makefile.qmake可以被用于任何软件项目,不管是否使用Qt. q ...
- MySQL终端下常用命令
一:控制类命令 1.show variables like "%datadir%";显示注册在variables中(一个注册表key-value的格式存储数据)key能匹配%dat ...
- 构建Maven项目自动下载jar包
使用Maven 自动下载jar包 右键单击项目,将项目 转换成Maven 项目 然后进去Maven官网 http://mvnrepository.com/ 这里有大量的jar包供我们使用,比如我现在要 ...
- Codeforces777B Game of Credit Cards 2017-05-04 17:19 29人阅读 评论(0) 收藏
B. Game of Credit Cards time limit per test 2 seconds memory limit per test 256 megabytes input stan ...
- Codeforces758A Holiday Of Equality 2017-01-20 10:08 48人阅读 评论(0) 收藏
A. Holiday Of Equality time limit per test 1 second memory limit per test 256 megabytes input standa ...
- Boost库安装理解
Boost安装的安装,以及在VS2013下的使用 1. 为什么要安装? boost是一个开源库,因为开源库可以跨平台,可以通过在不同的“硬件”平台上.所以需要安装的操作. 安装,然后编译生成“静态链接 ...