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) #(上限,下限,步长) 可以实现对元素或者下标的 ...
随机推荐
- DB2数据类型(抄袭)
数字 数据类型 精度 最小值 最大值 smal ...
- 2018.07.23 洛谷P4513 小白逛公园(线段树)
传送门 线段树常规操作了解一下. 单点修改维护区间最大连续和. 对于一个区间,维护区间从左端点开始的连续最大和,从右端点开始的连续最大和,整个区间最大和,区间和. 代码如下: #include< ...
- 为程序使用内存缓存(MemoryCache)
为了程序的灵活性,可能为程序使用了XML等外部文件存储配置,但也有可能文件内容会被频繁读取,为了减少磁盘的读取次数,提高程序性能,可以将频繁读取的配置文件缓存到内存中,加速配置的读取.并且需要可以在配 ...
- 【redis】linux上的安装与配置(详细图解)
转载自:https://blog.csdn.net/yjqyyjw/article/details/73293455:经过个人测试也适用于当前最新稳定的3.x的版本,顺便填了几个坑. 1.下载 htt ...
- (最小生成树 Prim) Highways --POJ --1751
链接: http://poj.org/problem?id=1751 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 1150 ...
- c++ 内联函数 (讲解的TM真好)
1. 内联函数 在C++中我们通常定义以下函数来求两个整数的最大值: 复制代码 代码如下: int max(int a, int b) { return a > b ? a : b; } 为 ...
- Qt .pro文件 详解
1. TEMPLATE变量TEMPLATE描述了为建立目标文件而采用何种模板,即生成何种形式的Makefile文件.Qmake工具定义了5种模板:1. 应用程序App,为建立一个Qt应用程序创建Mak ...
- HDU1372 Knight Moves(BFS) 2016-07-24 14:50 69人阅读 评论(0) 收藏
Knight Moves Problem Description A friend of you is doing research on the Traveling Knight Problem ( ...
- java web 项目启动的根目录,以及项目启动后使用的端口具体是哪一个
1.今天启动项目发现一直找不到网页,原来是自己浏览器地址的根目录出现了问题,那么系统中的根目录(也就是项目名)到底是哪个,究竟以哪个为基准? 这里有一地方不能忽视:见图片 在普通的java web项目 ...
- 团队项目(第四周之一)—GG队
Alpha认领任务: 叶尚文:对应键盘监听结果的动画以及计算 于泽浩:制作背景gif图,并保证能在程序中循环播放 龙剑初:项目进度跟进及博客更新 杜婷萱:把图片结合起来,设置云朵透明度的变化 蔡晓晴: ...