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) #(上限,下限,步长) 可以实现对元素或者下标的 ...
随机推荐
- stl string 小练习
最近没啥可写的 这里写下做的STL小练习 作为记录 去除指定字符串中的空格 获取文件名并根据名字创建临时文件,以TMP后缀结尾,已经为TMP后缀结尾文件则创建以XXX后缀结尾文件 读取一行输入内容 ...
- javax.mail 发送邮件 , greenMail 测试 , spring
发送邮件接口: package com.manxu.archetype.account.email; import javax.security.auth.login.AccountException ...
- 【Win】使用ScreenToGif制作gif动态图片
ScreenToGif 经常要写各类教程,有时候需要制作一些演示动画,GIF动画图片是个不错的选择,ScreenToGif是一款GIF录屏软件,下载地址可自行百度. 运行环境 操作系统:windows ...
- 2018.07.20 bzoj1614: Telephone Lines架设电话线(二分+最短路)
传送门 这题直接做显然gg" role="presentation" style="position: relative;">gggg,看这数据 ...
- 类内初始值(c++11)
1.概念 1)可以为数据成员提供一个类内初始值,创建对象时,类内初始值用于初始化数据成员,没有初始值的成员将被默认初始化 2)类内初始值和赋值类似,或者放在花括号里(如数组),或者放在等号右边,不能使 ...
- changetoutf-8
import chardet import os # ANSI文件转UTF-8 import codecs import os def strJudgeCode(str): return charde ...
- 获取手机的唯一标示uuid
NSString *idfv = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
- 获取iOS 设备上崩溃日志 (Crash Log)的方法
1. iTunes同步获取 大部分用户会使用iTunes软件来管理iPhone,这样同步的Crash日志就会同步到电脑上,我们需要在特定的路径里面查找 Mac OS X:~/Library/Logs/ ...
- (二分匹配 模板)过山车 -- hdu --2063
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2063 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- C++中的浮点数运算的误差测试分析
C++中的浮点数运算的误差 项目中需要计算判定,采用的是float型,如: float a < yLing, 其中:a = 2.0, y则从1.0 + 0.2*n 当n = 4时,条件成立了? ...