前段基础知识点JS

javaScript,俗称JS。是一种高级的、多范式、解释型的编程语言,是一门基于原型、函数先行的语言,它支持面向对象编程、命令式编程以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式,不支持I/O(比如网络、存储和图形等),但可以由它的宿主环境提供支持。它已经由ECMA(欧洲计算机制造商协会)通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器支持。
JS虽然语法和C、Java很像,但是JS是不需要编译的,它可以依赖浏览器,和环境无关,事件驱动javascript可以直接对客户的输入做出响应。那么,JS是什么呢?比如,你用HTML写一个网页,但是没有一点点新颖,有点都不美观好看,这时该怎么办呢?恩,所以你想给它穿衣服,于是你就去学习了CSS。但是,这个时候,你又想和网页交互,比如你点击网页的按钮后,希望那个区域发生变化等,然后呢,你又学习了JS。那么JS能做什么呢?JS可以获取用户的动作,比如你点击了鼠标或者按键,JS可以获取你点击的状态,然后根据你点击的什么位置等等进行相应的动作,比如改变颜色等。当然,这只是JavaScript的其中一个功能。
JavaScript 实现是由以下 3 个不同部分组成的:
核心(ECMAScript)、文档对象模型(Document Object Model,简称DOM)、浏览器对象模型(Browser Object Model,简称BOM)。说了这么多废话,想必你应该清楚的了解到了JavaScript的重要性了。你也很迫不及待的想知道JS的功能了吧,不急,我们慢慢来细说。首先得知道它的代码结构,如下:JS和HTMLl的结合方式:使用标签在head中加入在script中引入外部文件JS的数据类型和Java的一模一样,也是八大基本数据类型:byte
short
int
long
float
double
char
boolean( true //数值等于1,false //数值等于0)
字符串相加相减操作:var str=“123"alter(str+1); //1231 相加–字符串连接 alter(str-1) //122 相减–相减运算NaN提示:表示不是一个数字123456789注意:JS定义变量是用var,不区分整数和小数== 和 === 的区别:前者就是等于;后者是等于(检查值和类型)。
document.write()直接向页面输出的语句(吧内容显示在页面上数组三种定义方式:
var i = [1,2,3]; var i = [1,true,“4”];使用内置对象 Array对象var arr = new Array(5);arr[0] = 1; 使用内置对象Arrayvar arr = new Array(3,4,5)数组属性 length:获取数组长度123456789函数三种方式
:function 方法名(参数列表){ 方法体;//返回值可有可无;//参数列表不需要类型//如function(a,b)}方法名();
匿名函数var add = function(参数列表){ 方法体和返回值}add();
使用js的一个内置对象 Function动态函数var add = new Function(“参数列表”,“方法体;返回值”);
//var add = new Function(“x,y”,“var sum;sum=x+y;return sum;”);
// alter(add(2,5));优化:
//var par = “x,y”;//var method = “var sum;sum=x+y;return sum;”;/
/var add = new Function(par,method);
//aletr(add(2,5));12345678910111213141516171819202122232425全局变量和局部变量-- 全局变量:在script标签里面定义一个变量,这个变量在页面中js部分都可以使用。-- 局部变量:在方法内部定义一个变量,只能在方法内部使用。
12String对象属性 : lengthAPI:BrowserScripting-JavaScript方法:
html相关
bold(): 加粗
fontcolor(): 设置字符串颜色
fontsize(): 设置字体大小
link(): 将字符串显示成超链接
sub() sup(): 下标和上标
java相关
concat():连接字符串
charAt():返回指定位置的字符串 indexOf():返回字符串位置
split():分割字符串成数组 replace():替换字符串
substr():从第几位开始,向后截取几位
subString():从第几位开始,到第几位结束,但是不包含最后那以为123456789101112131415161718Array对象创建数组 var array = [1,2,“3”] var array = new Array(5); var array = new Array(1,2,“3”) var array = []//创建空数组
属性:length:数组长度 方法: concat() 连接数组
,将值返回给新数组
join() 根据指定的字符分割数组 push() 向数组末尾添加元素,返回数组的新的长度 如果添加的是数组,此时吧数组当做一个字符串加进当前数组;
pop() 表示删除最后一个元素,返回删除的那个元素
reverse() 颠倒数组中的元素的顺序1234567891011121314Date对象
var date = new Date();获取当前时间:
var date = new Date();转换为习惯格式: date.toLocaleString();
获取年: getFullYear();获取月:
getMonth(); 返回0-11获取日:
getDate();获取星期: getDay() 返回0-6 星期天作为星期一的开始获取小时:
getHours();获取分钟: getMinute();获取当前秒:
getSeconds();获取当前毫秒数: getTime();123456789101112131415161718192021Math对象属性: PI 返回圆周率 E 自然对数地鼠静态方法 直接通过类名调用:
Math.ceil()向上舍入 Math.floor() 向下舍入
Math.round() 四舍五入 Math.random() 得到0.0-1.0的随机数(伪) //0-9 document.write(Math.floor(Math.random()) * 10);
Math.max()最大值 Math.min()最小值
Math.pow(x,y);幂 x的y次方1234567891011121314关于JS函数重载js中不存在重载:但可以通过aruguments数组来模拟重载的效果传进的菜蔬有aruguments接收然后可以通过if判断aruguments.length()实现1234JS全局函数eval():吧javascript字符串当做脚本代码来执行 var a = “alert(‘1234’)”; eval(a);//输出1234123Bom浏览器对象模型:
navigator 获取客户机信息(浏览器信息)
navigator.appName 显示浏览器的名称属性
screen 获取屏幕信息 screen.width 宽度
screen.height 高度 location 请求url地址
location.href 获取到请求的url地址
history 请求的url的历史记录
history.back() 上一次html路径页面
history.go(-1) history.forward() 下一次html路径页面 history.go(1)
history.go 加载history列表中的某一个具体页面 实现浏览器页面上下一层页面
window js中顶层对象、浏览器窗口对象
window.alert():弹出框显示内容
window.confirm(提示内容):确认提示框 window.prompt(提示内容,默认输入内容):输入对话框
window.open(“打开的新窗口的地址url”,”",“矿口特征(宽,高)”) :打开一个新的浏览窗口 window.close():关闭窗口(浏览器兼容性差) 计时器: 1s = 1000ms window.setInterval(“js代码”,“毫秒数”) 重复 window.setTimeout(“js代码”,“毫秒数”) 单词 window.clearInterval(setintervalID)
清除setInterval定义的计时器 window.clearTimeout(setTimeoutID) 传入定时器方法返回的ID123456789101112131415161718192021222324252627282930313233DOMdocument对象: 属性: all[] 提供对文档中所有html元素的访问 ff不支持 forms[] 返回对文档中所有Form对象英语 body 提供对元素的直接访问 方法: getElementById()返回对拥有指定ID的第一个对象的引用
getElementsByName()返回带有指定名称的对象集合
getelementsByTagName() 返回带有指定标签名的对象集合 write()向文档写html表达式或javascrept代码1234567891011当然光记光看是没有用的,得熟能生巧,多实战,多做练习。那么我们最后来简单的说一下JavaScript的常见问题吧。 prototypeprototype.js是由Sam Stephenson写的一个javascript类库。该框架的设计思路巧妙,而且兼容标准的类库,能够帮助开发人员轻松建立有交互性良好的web2.0特性富客户端页面。 JqueryJquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。 ExtExt是一个强大的js类库,以前是基于YAHOO-UI,现在已经完全独立了。主要包括data、widget、form、grid、dd、menu,其中最强大的应该算grid了,编程思想是基于面向对象编程(oop),扩展性相当的好.可以自己写扩展,自己定义命名空间。主要包括三个大的文件:ext-all.css,ext-base.js,ext-all.js(包括所有的类库,您可以根据需要进行删减.官方网站提供这一接口),在引用ext类库的时候,这三个文件必不可少。它提供了丰富的,非常漂亮的外观体验,成为众多界面层开发人员的追捧!其核心的组件基本覆盖了我们构建富客户端的常用的组件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值