JavaScript

* JAVASCRIPT(JavaScript简写js,文件的后缀名也是  demo.js)(*****)
* javascript的简介
* js是基于对象和事件驱动的脚本语言,作用在客户端(浏览器)上。
* js的特点:
* 交互性
* 安全性:(不可以访问本地的硬盘)
* 跨平台性:因为浏览器就可以解析js的文件。


* javascript和java不同(一点关系没有)(雷锋和雷峰塔)
* Netscape(网景),静态的效果。livescript(javascript的前身)
* java诞生了,升级了,改名(javascript),火了。
* 巨头:自己开发一套(jscript)
* 找一些公司推出的标准: SUN 微软 ECMA(欧洲计算机制造协会),联合推出现在的标准。

* ECMAScript:标准。基础上扩展。

* js的基于对象,java是面向对象。
* js解析就可以执行,java先编译再执行。
* js是弱类型的语言,java是强类型语言。

* javascript语言的组成
* ECMAScript 标准(js的语法,变量,函数)
* BOM (Browser Object Model) 浏览器对象模型
* DOM (Document Object Model) 文档对象模型


* javascript的语法
* 把js和HTML的结合一起。(2两种方式)
* js和HTML的结合
* HTML的文件提供了一个标签 <script type="text/javascript">js的代码</script>,标签可以放在HTML文件的任意位置上。

* 引入外部的文件,有一个外部的文件。编写js文件。
* <script src="引入js文件(相对路径)" >
* 如果script通过src的属性引入了外部的文件,标签里面的js代码就不会执行了。(*****)
  js代码最好放在body标签外面。
* </script>,标签可以放在HTML文件的任意位置上。


* 关键字
* var 声明变量

* 标示符
* 和java一样

* 注释
* 和java一样

* 变量
* 声明变量,只使用一个关键字 var num = 12;  var str = "abc"; 
* 5种基本数据类型
* Undefined、Null、Boolean、Number 和 String 

* 5种基本数据类型
* Undefined、Null、Boolean、Number 和 String 

* String 字符串类型
* js中双引号和单引号都代表的是字符串
* Number 数字类型
* 不区分整数和小数
* Boolean 布尔类型
* Null 空,给引用赋值的
* Undefined 未定义(声明变量,没有赋值)

* 声明变量,使用var关键字
* typeof() 判断当前变量是什么类型的数据
               

* 运算符
* js的运算符
* 算术运算符
* 0或者null是false,非0或者非null是true,默认用1表示。
var num = 3710;
alert(num/1000*1000);
* 不区分整数和小数
* 赋值运算符
* 和java是一样的
* 比较运算符
* == 比较值是否相同
* === 比较值和类型是否相同
* 逻辑运算符
* 和java中一样

* 三元运算符
条件?值1:值2


* js的数组
* js的数组
* java String [] str = {};
* 声明数组
* var arr = [12,34,55];
* var arr = new Array(5); 声明数组,长度是5
* var arr = new Array(2,3,4); 声明数组,元素是2 3 4

* 数组的属性
* 长度:length
* 数组的长度是可变的。因为js里面只有一种类型,不像Java有很多种类型。


* js的方法
* java中 public String 方法名称(参数列表(int num,String str)){
方法体;
return null;
}

* js中,通过关键字function 声明方法。

function 方法名称(参数列表 (num,str)){
方法体;
return;
}

* 参数列表:不能使用var关键字
* 返回值:可写可不写的,如果有写返回值,如果没有,返回值可以省略不写。

* 调用执行。

* 在函数的内部,有一个数组,装传过来的参数的

arguments


js动态函数和匿名函数
*动态函数:使用关键字Function
    var param1="x,y";
var param2="var sum;sum=x+y;return sum"
var add=new Function(param1,param2);
var sum=add(4,5);
alert(sum);
*匿名函数:没有名称的函数
var getSum=function(){
return 100;
};
alert(getSum());
js的全局变量和局部变量
*全局变量:在<script>标签内部定义的变量就是全局变量
*局部变量:在函数的内部定义的变量就是局部变量
var x=4;
function show(x)
{
x=8;
}
show(x);
alert("x="+x);
结果为:x=4
var x=4;
function show(y)
{
x=8;
}
show(x);
alert("x="+x);
结果为:x=8
js的对象以及API
*String对象
*声明:var str="abc";
   var str=new String("abc");
*属性:length
*方法:
*和HTML相关的方法(书写的时候没有提示)
*bold():使用粗体显示字符串
*自定义bold方法:其实就是在文字的两端用<b>标签包起来
function myBold(str)
{
var result="<b>"+str+"</b>";
return result;
}
*fontcolor(color):设置字体的颜色,颜色参数是必须的
*fontsize(size):设置字体大小
*italics():斜体
*link(url):设置连接
*sub():设置下标
*sup():设置上标
print("3"+"2".sup());输出的格式类似于3的2次幂,2就是上标
*和Java中String对象类似的
*charAt(index):返回指定位置的字符
*indexOf(str,fromIndex):返回指定字符的位置,没有该字符串则返回-1
*lastIndexOf(str,fromIndex):从后往前检索
*replace(oldStr,newStr):替换
*substring(start,end):截取子串,方法名全小写
*subStr(start,length):截取子串,从哪儿开始,截取多长
*定义一个方法,去掉两端的空格
需求:
var str="abc";
var newStr=mytrim(str);
//去空格
function mytrim(str)
{
//0位置的下标
var start=0;
//最后位置的下标值
var end = str.length-1;
//start和end一直要变,查找下标值的位置的字符是否是空格
while(start<=end && str.charAt(start)==" ")
{
//满足条件
start++;
}
while(start<=end && str.charAt(end)==" ")
{
//获取的end是下标
end--;
}
//                             所以此处的end需要加1才是长度
var result=str.substring(start,end+1);
}
*Array对象
*声明数组 var arr=[12,33];
  var arr=new Array(3,5);
*属性:length
方法:
*contact(元素/数组):连接,返回新的数组
*join(s):通过s标识(分隔符)进行分割,返回新的字符串。s默认为','
*pop():删除末尾的元素并返回此元素
*push():向末尾添加元素并返回新数组的长度
*sort():按自然顺序排序
*Date:日期对象
var date=new Date();  当前时间
*toLocalString():转换成本地时间的格式
*toLocalDateString():只要日期
*toLocalTimeString():只要时间
*getDate():返回一个月中的某一天(多少号)
*getDay():返回一周中的某一天(0-6【星期几】)
*getMonth():返回月份(0-11)  +1
*getFullYear():返回年份
*getTime():返回毫秒数
*setTime():通过毫秒数来获得日期
*parse(str):解析字符串返回毫秒数
Date.parse(str);
str:2017-11-11 解析不了
11/11/2017 可以解析 
2017,11,11 可以解析
*Math: 和数学相关的对象
*ceil(x):上舍入
*floor(x):下舍入 
*round(x):四舍五入
*random():0-1的随机数
//获取10个1-10之间的随机数
for(var i=0;i<10;i++)
{
print(Math.floor(Math.random()*10+1));
print(Math.ceil(Math.random()*10));
}
*RegExp:正则表达式对象
*应用:编写注册表单。对表单输入的内容进行校验
*var reg=new RegExp("表达式");  //开发不常使用
*var reg=/表达式/;             //开发常用
*var reg=/^表达式$/         //开发常用
*exec(str)                       不经常使用
*如果匹配,返回匹配结果
*test(str)                       经常使用
*如果匹配,返回的是true,如果不匹配,返回false
*js的全局函数
*如果要使用全局函数,不需要任何对象
*即全局函数可以直接拿过来使用。
     global帮着管理全局函数
*eval():可以解析字符串,并执行字符串中的js代码
eg:var str="alert("hehe")";
    alert(str);//弹出的是alert("hehe")
eval(str);//弹出的是hehe
*isNaN():判断是否为数字值
*parseInt():解析字符串,返回一个整数

*decodeURI():对中文进行解码
*encodeURI():对中文进行编码

*decodeURIComponent():解码URI组件
*encodeURIComponent():编码URI组件

*escape():对字符串进行编码
*unescape():对字符串进行解码
*BOM:浏览器对象模型
*Brower Object Model
*window:窗口对象(******)
*alert() :弹出提示框
*confirm():询问框
*弹出提示框,确定和取消
如果点击确定,返回true,如果点击取消,返回false
放止用户误点删除东西
*moveBy():移动浏览器

*setInterval("函数",毫秒值):定时相关的
*每隔毫秒值执行一次函数
*返回唯一的id值
*setTimeout("函数",毫秒值):
*到了毫秒值后执行一次函数
*返回唯一的id值
*清楚定时
*clearInterval(id值)
*clearTimeout()
*close():关闭浏览器窗口
*open(“url”,"name","width=,height="):打开新的浏览器窗口

*属性
*opener  返回对创建此窗口的窗口的引用
*win open():弹出百度的窗口
在baidu窗口中  baidu.open 得到了win的引用

*Navigator:和浏览器版本相关的对象(**)
*userAgent():获取浏览器的相关信息
*window.navigator.userAgent();window可以省略不写

*Screen:和屏幕相关的对象(*)

*History :和浏览器历史相关(**)
*back():返回上一个页面
*forward():去下一个页面
*go():
*传参数 go(1)=forward()
        go(-1)=back()

*Location:和浏览器地址相关的对象(***)
*href:获取和设置浏览器的路径
location.href;//获取当前URL

*Document:文档对象
*document.getElementById("nameId"):获取到的是input标签的对象
*获得到属性之后,就可以获取到对象的属性,名称等一系列参数
*比如:input.value获取input标签的值,甚至可以改变input的值,即直接进行赋值操作


*事件
*onclick  点击事件
*值的写法:οnclick="函数名"
*队列:先进先出
 栈:先进后出

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值