js基本知识3

js高级

JavaScript 中的所有事物都是对象:字符串、数值、数组、函数,

对象只是一种特殊的数据,对象拥有属性和方法.JS也允许自定义对象

访问属性: objName.propertyName 访问方法: objName.methodName

javaScript是面向对象的语言,但不会使用类,是基于protoType而不是基于类的

js创建对象可以直接new Object(),而后一次给属性赋值

dog = new Object();
dog.age = 11;
dog.fname = "mill";
dog.lname = "dock";

或者直接使用对象字面量

dog = {age:11,fname:"mill",lname:"dock"};

使用对象构造器,this一般用于指向执行的函数本身,构造器内可以有对象的函数

function dog(age,fname,lname){
 this.age = age;
 this.fname = fname;
 this.lname = lname;
 function fullname(){
   return this.fname+" "+lname;
 }
}

对象的for..in循环遍历 是访问对象的属性

for(attr in dog){
 info += dog[attr];
}

JS Number对象 

固定是64位  没有整型、浮点型、short、long区分

整数精度最多为15位  小数最大为17位 (注:浮点数运算并不总是正确 0.1+0.1 不一定为0.2)

toString(进制) 将number对象转为对应的进制

内置对象Infinity 无限大  NaN (Not a Number)不是一个数字

Number对象的属性: MAX_VALUE MIN_VALUE NEGATIVE_INFINITY POSITIVE_INFINITY

NaN prototype constructor

Number对象的方法:toExponential() toFixed() toPrecision() toString() valueOf()

JS String对象

拥有java String类的大部分方法

属性: length prototype constructor

方法:charCodeAt() concat() match() replace() spit() substr(begin[,length])...and so on

JS Date对象

(get|set)FullYear()获取/设置年份  getTime() 获取1970.1.1至今毫秒数  getDay()

 JS Array数组对象

var arr = new Array(); arr[0]="mill";arr[1]="dock";

var arr = new Array("mill","dock");

var arr = ["mill","dock"];

在数组中可以有不同的对象

数组还可以创建新的方法 如下 给所有数组对象创建了一个funName方法

Array.prototype.funName = function(){
 //function code
}

concat(arrs...)连接多个数组对象   join()方法将数组内的对象组成字符串 pop()删除最后一个元素 push()末尾添加元素(类似栈)

reverse()反转  shift()删除第一个元素  slice(beginIndex,endIndex)选取begin~~end-1的数组元素

sort()方法 按字母升序 sort(function(a,b){return a-b;})按照数字升序(b-a即可降序) 

splice(beginIndex,deleteNum,attr...)添加元素   toString() unshift()开头添加新的元素

JS Boolean布尔对象 

创建对象 var a = (false|true);

var a = new Boolean()

布尔对象为false 当且仅当对象值为 0 -0 null false undefined NaN

JS Math对象

round()   random()  max()  min()   floor() and so on

Math.(PI|E|SQRT2|SQRT1_2|LN2|LN10|LOG2E|LONG10E) 常用算术值

JS RegExp对象

正则表达式 主要内容前两节已讲

var pat = new RegExp(pattern,midifier);
//或者 more simple
var pat = /pattern/modifier
//注意使用RegExp时 要注意字符转义\要写成\\
var reg = new RegExp("\\w*");
var reg = /\w*/;

修饰符前面已讲 i(忽略大小写) g(全局匹配) m(多行匹配)

test()// 返回boolean     是否匹配

exec() //返回正确匹配到的字符串

JS BOM(浏览器对象模型)

可以获取浏览器窗口的尺寸大小(高度、宽度)

document.documentElement.client(Height|Width)

document.body.client(Height|Width)

window.(open()| close() | moveTo() | resizeTo()) window的方法

Window Location对象 获取当前页面的URL

location.hostname|pathname(路径名)|port|protocol 页面的信息

location.href 页面的url   location.assing()加载新的文档

Window History

history.back()//功能同浏览器的回退按钮

history.forward()//功能同前进按钮

function back(){
 window.history.back();
//window.history.forward();
}
<button type="button" οnclick="back" value="Back"/>

alert("message")//弹窗

window.confirm("message")//确认框  返回boolean值

var res = window("press ok or cancel");
if(r==true){
 x = "you've pressed OK";
}else{
 x = "you've pressed Cancel";
}//通常根据boolean返回值进行对应的操作
window.prompt()//提示框  需要输入值 
var animal = window.prompt("enter the name of dog","defaultValue");
if(animal!=null && animal!=""){
 //code to be executed
}

window Timer:  setInterval() 设置间隔时间 周期性的执行代码 setTimeout():指定时间后执行代码

[window.]setInterval("function",millionseconds)  第一个参数 函数名  第二个参数间隔毫秒

clearInterval()停止setInterval()方法执行

setTimeout("function",millionseconds);//等待一段时间 只执行一次函数

clearTimeout() 停止setTimeout()方法执行

Cookie:记录web用户的信息  cookie以键值对的形式存在 key=value  (.properties文件)

创建cookie:  document.cookie="key=value";

设置超时时间: document.cookie="key=value;expires="+Date();//默认情况下 浏览器关闭则cookie销毁
设置cookie的路径: document.cookie="key=value;expires="+Date()+";path=/";//默认情况下 path是当前页面路径
读取cookie: var coo = document.cookie;//coo返回的是cookie的字符串形式 cookien=valuen
删除cookie: 将超时时间设置为以前的时间 expires= DateBefore like Thu, 01 Jan 1970 00:00:00 GMT
注:设置新的cookie的时候 旧的cookie不会被覆盖 会添加到document.cookie中 得到两个cookie序号 但是value值是一致的
一般使用cookie都有三个函数  设置cookie值的函数  获取cookie值的函数  检测是否有cookie值的函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【1】项目代码完整且功能都验证ok,确保稳定可靠运行后才上传。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 【2】项目主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 【3】项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 【4】如果基础还行,或热爱钻研,可基于此项目进行二次开发,DIY其他不同功能,欢迎交流学习。 【注意】 项目下载解压后,项目名字和项目路径不要用中文,否则可能会出现解析不了的错误,建议解压重命名为英文名字后再运行!有问题私信沟通,祝顺利! 基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值