斯文败物

导航

JS笔记

 

Js笔记

JavaScript 是脚本语言

<script> 和 </script>   引入js。

Js五种基本类型:数字,字符串,布尔,null,undefined;

结构,表现,行为分离。

变量命名规则:

以字母或【下划线开始($)】不推荐,后面跟上数字,字母下划线。不允许使用空格和其他标点。

驼峰命名法常见有两种格式:

小驼峰式命名法(lower camel case:第一个单字以小写字母开始;第二个单字的首字母大写,例如:firstName、lastName。

大驼峰式命名法(upper camel case:每一个单字的首字母都采用大写字母,例如:FirstName、LastName、CamelCase,也被称为Pascal命名法

命名严格区分大小写

不能使用关键字和保留字

保留字就是预留的关键字。

 

Alert (b);

Var a = String.noteExists;

Alert (a);

全都为undefined;

Null NaN 空字符串(’’) undefined 都为假(false)

1+NaN=NaN null→0  true→1 false→0 undefined→NaN

Typeof NaN →number

强制转换

parseInt()     转换成整型

parseInt()方法首先查看位置0处的 字符,判断它是否是个有效数字;如果不是,该方法将返回NaN,不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置1处的字符,进行同样的 测试。这一过程将持续到发现非有效数字的字符为止,此时parseInt()将把该字符之前的字符串转换成数字。

例子:

如果要把字符串 "1234blue "转换成整数,那么parseInt()将返回1234,因为当它检测到字符b时,就会停止检测过程。

字符串中包含的数字字面量会被正确转换为数字,因此 字符串 "0xA "会被正确转换为数字10。

不过,字符串 "22.5 "将被转换成22,因为对于整数来说,小数点是无效字符。

parseInt("1234blue")      1234

parseInt("234",0)      234

parseInt("0xA")      10

parseInt("0123123")      123123

parseInt(45,16)          69

parseInt("true")         NaN

parseInt(true)        NaN

parseInt("    45    6   ab")    45

parseFloat()   转换成浮点型

parseFloat()方法与parseInt()方法的处理方式相似,从位置0开始查看每个字符,直到找到第一个非有效的字符为止,然后把该字 符之前的字符串转换成数字。不过,对于这个方法来说,第一个出现的小数点是有效字符。如果有两个小数点,第二个小数点将被看作无效的, parseFloat()方法会把这个小数点之前的字符串转换成数字。这意味着字符串 "22.34.5 "将被解析成22.34。

例子:

parseFloat("123.12.5")      123.12

 

parseFloat("123")      123

 

parseFloat("dfg")       NaN

  

parseFloat("2e3a")      2000

 

 

Boolean(value)——把给定的值转换成Boolean型;
Number(value)——把给定的值转换成数字(可以是整数或浮点数);
String(value)——把给定的值转换成字符串。

字符串连接符

document.write("hello"+china")     hello china

 

document.write(1+"king")                1king

 

赋值运算符

var  username=“king“

document.write("用户名为:"+username)     用户名为:king

for循环

基本格式:for(初始化变量;条件控制;增量){      循环语句     }

执行顺序:1.初始化变量  2.判断是否符合条件  3符合执行循环语句  4增量自增或自减

多层嵌套for循环   最外层循环一次  里层整套循环  以此类推

跳出循环的两个命令

break  :跳出循环

contione :跳出本次循环

switch...case语句         严格类型比较

  default:

  document.write('以上case都没有匹配到的时候执行的代码段');

  break;

  switch(i){

         case 1:

            document.write('a');

         case 2:

            document.write('b');

         default:

            document.write('e');

         case 3:

            document.write('c');

            break;

         case 4:

            document.write('d');

       }

Js函数

通过Function()构造函数

函数严格区分大小写

函数名称重复会产生覆盖

函数通过return加返回值,如果没有return 默认返回undefined

函数表达式可以存储在变量中,变量也可以作为一个函数使用

函数可以有参数也可以没有参数,可以有一个参数也可以有多个参数

alert(calc(1,3,4));       控制着对象的长度

arguments.length;          传入参数的个数

变量作用域

var x=1;

function test(){

document.write('函数体内x的值为:'+x+'<br/>');          //undefined,x值取下面的,但是取不到值

var x=19;

    document.write('函数体内对x重新赋值,此时x的值为:'+x+'<br/>');       //19

    }

    document.write('函数体外x的值为:'+x+'<br/>');              //1

    test();

    document.write('x的值为:'+x+'<br/>');           

全局变量和局部变量的区别

 

在函数外声明的变量都为全局变量,在函数内声明的为局部变量。

内部也可以声明全局变量:
       demo:

function  test(){

y = 5;  //全局变量

alert(y);

}

alert(y); //5

声明提前:

function  test1(){

alert(y);  //undefined

var y = 5;  //全局变量

alert(y);  //5

}

回调函数:

function say(x){

                     alert(x);

              }

              function execute(fun,y){

                     fun(y);

              }

              execute(say,'hi');

return false+false; 0+0=0;

比较最大的值

function test1(){
var paramsNum=arguments.length;
var max=0;
for(var i=0;i<=paramsNum-1;i++){
if(arguments[i]>max){
max=arguments[i];
}
}
return max;
}
alert(test1(123,3432,23456,445643));

 

Js对象

创建对象的方式

1. 通过对象字面量的形式创建对象

2. 通过new Object()创建对象

3. 通过构造函数的形式创建对象

4. 通过Object.create()创建对象

一.通过对象字面量的形式创建对象

   var obj={};          //没有任何属性的对象

var obj1={x:1,y:2,z:3};

   也可以放多个对象  Javascript关键字必须放到引号之间    比如:'for'。

二.通过new Object()创建对象

   var obj3=new Object();    //创建一个空对象,{}

  var arr=new Array();      //空数组,[]

  var date=new Date();      //日期时间对象

三.通过构造函数的形式创建对象

   function Test(){

         }

       var obj4=new Test();

       function Test1(num1,num2){

          this.n1=num1;

         this.n2=num2;

       }

       var obj5=new Test1(5,6);

alert(typeof obj5);

四. 通过Object.create()创建对象

   var obj6=Object.create({x:1});

  var obj7=Object.create(null);

 

 

对象的增删查改

一. 查询

1.字面量

var person={

     username:'king',

     age:12,

     salary:1234.56,

     addr:'北京',

     sex:'男',

  };

//查询属性,对象.属性名/对象["属性名"]

(1)console.log('用户名'+person.username+"\n"+'性别:'+person.sex);

(2)console.log('薪水:'+person['salary']+'\n'+'地址:'+person["addr"]);

//如果属性不确定需要使用[]

var key='username';

     //console.log(person[key]);

2.构造函数

  function PersonInfo(name,age,sex){

       this.name=name;

       this.age=age;

       this.sex=sex;

     }

     var person1=new PersonInfo('king',34,'男');

     //console.log(person1.name+person['sex']);

二. 添加

 var obj={};//空对象

     obj.username='king';

     obj.age=12;

     obj.addr='北京';

     obj['test']='this is a test';

console.log(obj.username+'\n'+obj.age+'\n'+obj.addr+'\n'+obj['test']);

三. 修改

obj.username='queen';

obj['test']='ymt';

//console.log('修改之后的名字'+obj.username);

//console.log(obj['test']);

四. 通过delete删除指定属性

delete obj['test'];

     //console.log(obj['test']);

  delete obj.username;

     //console.log(obj['username']);

posted on 2018-08-27 17:46  斯文败物  阅读(133)  评论(0编辑  收藏  举报