js基础

关系运算符中,string之间的比较  “ab” >  "ac"    是从左到右一个一个字符对应比较他们的acall码, 如果左边没有字符右边有字符, 算右边大


等值运算符    ==   /     !=, 其他类型都会倾向number类型转换, 如果比较中存在number类型, 其他类型会先转换成number, true转换成number则为1, false则为0; null 会转成NAN, 任何类型与NAN比较都为false, 包括NAN自己之间的比较。 

null 与 undefined 比较返回true     

全等于     ===     比较的包括类型本身,  不会类型转换


虽然在比较时会做类型转换, 但是做完比较运算后, 类型还是原来的类型


对象

特殊对象 Function对象      语法:   function fun1(){     }    

看上去就是一个方法, 实质上就是一个对象, 但是又可以当作方法来调用

对象创建   var fun2 = new function(a, b){

        alert( a + b );

        return a + b;

};

对象的属性

fun2.length();

对象的方法

fun2.toString();        //对象的toString() 会返回对象的创建

函数的调用: 例如在fun2中  fun2(1, 2);    会显示3, 

                                            fun2(1,2,3,4)   同样能调用函数, 但只会取前两位参数

                                            fun2();    也能调用函数, 只是函数中的两个参数没有初始化, 默认值为nudefined, 相加时会转换成number类型, 但是undefined不会转成number,只会转成NaN,NaN相加为NaN


实际上, 函数在参数的接收时, 会将传经来的参数封装在一个arguments中, 如果在函数中写形式参数, 则是作为一个引用来获取arguments中封装的参数

返回值  用     return  xxx ;   直接返回, 不用指定返回值类型, 如果  return ;结束函数执行, 不返回任何参数, 则默认返回undefined

void运算符   void(fun2());会屏蔽掉fun2返回的值


对象类型

三大包装对象

Number, Boolean, String

对象的创建

var str = new String( xxx );    //xxx参数可以为任何类型的参数

常用方法与java类似


Global对象

常用的方法encodeURI / decodeURI

                encodeURIComponent / decodeURIComponent


在 发送get请求时(表单的提交) 会把亲求的内容直接当作参数拼接在uri中的, 但是如果出现中文时, 是无法直接解析中文的, 浏览器会先将中文解析成 二进制 数 然后 转换成 十六进制数 再拼接到uri中

encodeURI则是可以手动地将一个字符串中 中文部分 转成16进制数

 encodeURIComponent 则是将这个 字符串 的中文和 符号 转成16进制 符号包括 & ? :


parseInt();  //将String类型的字符串转换成整数,从左到右转, 如果一开始有能转换的数, 后面遇到不能转的字符, 则停止转换, 返回已转部分。 如果一开始就遇到不能转的字符, 则返回 NaN

parseFloat();


isNaN();   //判断一个对象或基本类型是不是对象

因为NaN之间是无法比较的, 所以不能用  xxx == NaN  返回的结果来判断 xxx是不是NaN, 这个比较永远返回false

如果要判断  xxx是不是NaN只能用   isNaN(xxx); 返回的结果来判断


eval();  // 解析运行方法

eval( "1 + 1" );    //会解析运行 “”里面的js代码 返回 2


数组对象

创建对象:三种创建方式

var arr1 = [1, 2, 3, 4];

var arr2 = new Array(1, 2, 3, 4);

var arr3 = new Array(4);    //创建对像时, 如果只传进一个参数并且是数字, 则该参数作为数组的初始长度

属性 数组长度 arr1.length();

方法:

pop    //弹栈    将栈顶元素弹出

push   //压栈  将一个元素放进栈中

reverse   //数组反转, 反转后数组不会恢复

sort         //排序 =》如果直接调用sort(), 不指定参数, 则按照默认排序方式排序, 字符串的排序方式

                参数为一个函数, 该函数作为一个比较器  例如:

                function fun(a , b){

                    return a-b;

                }

                arr1.sort(fun);  

                 这样指定参数后, 排序会按照从小到大排序

数组类型的特点:1、数组中可以是任意元素, 没有规定特定的数据类型

                            2、数组的长度可以随时改变, 元素如果没有初始化, 则默认为undifined


Date对象

创建:

var date = new Date();    也可以传进一个参数, 该参数作为毫秒, 在1970年1月1日 0时0分0秒开始后的毫秒

 var date = new Date(123456789);

RegExp正则对象

创建:

参数1:正则表达式

参数2:匹配模式, g代表全局的, i代表忽略大小写, 也可以同时使用gi

var reg1 = new RegExp("e", "g");


var reg2 = /e/g;     简便写法

方法:text("xxx");        

reg2.text("xxx");    //会判断xxx是否符合正则表达式, 如果符合返回true 否则返回false

String 与 正则结合的方法

String str = "hello";

            str.split(reg2);     //对字符串进行按正则表达式分割    

            str.replace(reg2,  "x");    //将字符串中符合正则表达式的子串替换为 x

            str.match(reg2);            //对字符串进行匹配, 如果符合正则表达式的, 就返回, 如果找不到则返回 null

            str.search(reg2);            //查找字符串中正则表达式出现的位置




Bom

browse object model 

window对象

获取:由浏览器创建, 当浏览器加载页面时会自动创建window对象

直接window就可以使用

window中的方法:

alert

confirm    弹出确认框

prompt     弹出一个输入框


var b = confirm("您确定要删除吗?");        //弹出确认框, 点击确定, 返回true, 点击取消返回false

var str = prompt("请输入", 0);                //弹出一个输入框, 第一个参数代表提示信息, 第二个参数代表默认输值, 返回 类型为string,如果点击取消返回null


location对象

属性:href :代表当前页面的url

方法:assign();    加载新的文档

           replace();    用新的文档替换当前文档            -----与assign()的区别:assign();会产生新的历史记录, replace()会产生历史记录

          reload();    重新加载当前文档, 相当于刷新


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值