js入门-one

一、js定义

    javascript是一种弱类型、动态类型、解释类型的脚本语言。

           弱类型:类型检查不严格,偏向于容忍隐式类型转换。

           动态类型:运行的时候执行类型检查。

           解释类型:程序不需要编译,程序在运行的时候才翻译成机器语言,每执行一次都要翻译一次,因此效率低,但跨平台性好。

二、js 的组成(js之父:Brendan Eich(布兰登・艾奇))

     1、js的组成:ECMAScript + BOM + DOM

       ECMAScript(核心):描述了语言的语法和基本对象(ECMA(欧洲计算机制造协会))

           BOM(浏览器对象模型(Browser  Object  Model)):描述了浏览器进行交互的方法和接口。

           DOM(文档对象模型( Document  Object  Model)):描述了处理网页内容的方法和借口。

<script type="text/javascript" src="要引入js文件的路径"></script>
<!-- //(引入样式) -->
<script type="text/javascript">
//内容
</script>
<!-- (内部样式) -->

script标签可以放在页面的任何位置,一般在head 和 body 中

       注:(1)当引入文件和内部js同时存在时,内部js不会执行

              (2)不可使用<script type="text/javascript" />单标签

三、js 语句

      1、js语句就是向浏览器发出命令,告诉浏览器该做什么。

      注:不写分号单行(一条)语句也可以执行,因为js是弱类型。

alert(1)
// (可执行)
alert(1)
alert(2)
//(可执行)
alert(1)alert(2)
//(不可执行)

      2、js 代码是js 语句的序列,浏览器会按照编写顺序来执行(从上往下,谁在前谁先执行)。

      3、{ } 一个花括号就是一个代码块。

      注:js 语句严格区分大小写。

四、js 解释

      单行注释://

      非常重要的注释:/*!、、、、*/

      多行注释:/*、、、、*/

      文档注释:/**、、、*/

五、js 变量

      变量是存储信息的容器,用 var 来声明变量

      变量命名规则

            (1)以字母、数字、下划线和 $ 组成

            (2)不能以数字开头

            (3)不能用拼音

            (4)不能用关键字

     1、常用命名法

          (1)驼峰命名法(Camel)第一个单词的首字母小写,后面的单词的首字母大写。

          (2)帕斯卡命名(Pascal)所有单词的首字母大写

         (3)匈牙利命名法(Hungarian)在变量名最前面添加相应的小写字母来标识来标识变量的类型,后面单词的首字母大写

     2、保留字和关键字不能用来命名(保留字:以后会用的字)

     3、数据类型

            基本数据类型:String、number、boolean、null、undefined

           引用数据类型:object、function

                  (1)String :必须由成对的单引号或双引号包起来

                  (2)number:带小数点、不带小数点的都可

                  (3)boolean:true、false

                  (4)undefined:声明的变量没有值

                  (5)null:表示尚未存在的对象

 typeof : 用来检测数据类型

六、运算符

  1、算术运算符:+ 、- 、* 、/ 、%(取余) 、++(递增) 、--(递减)

    %(取余):余数的正负和被除数有关,和除数无关

    "+" 两边若有一个字符串类型的值,则"+" 会被作为连接符,结果是字符串的拼接。

    a++:后自增,先将结果赋予当前位置,然后再自增(先运算,后自增)

      ++a前自增,先自增,然后将自增后的结果赋予当前位置(先自增,后运算)

      "-"两边若有一方为字符串,另一方为数值型,则字符串自动转换为数值型,再进行运算。

  2、赋值运算符:= 、+= 、-= 、*= 、/= 、%=

    a += b;等于a = a+b;(其他同理)

  3、关系运算符:> 、< 、>= 、<= 、== 、=== (三等)、!= 、!==

    == 和 === 的区别

     对于string 和 number 等基本类型

        “==”两边若有字符串类型,可自动转换为数值型再进行比较

        “===”不可自动转换两边类型,因类型不同,结果为false。

    

     注:两个引用数据类型判断是否相等

var a={}, b={};
console.log(a==b);

     结果为false

     a和 b 的外形一样 ,但是他们的内在不同。不是同一个对象。

 

  4、逻辑运算符:&& 、|| 、!

 

  5、三目运算符:表达式1 ?表达式2 :表达式3;

     若表达式1为真(true),则执行表达式2

     若表达式1为假(false),则执行表达式3

Math.round()四舍五入(针对整数)

parseInt:将字符串转换成整数(从字符串左侧一次查找数值,直到碰到非数值的字符结束)

parseFloat:将字符串转换成浮点数

七、运算符优先级

       (1)[] 、. 、() :字段访问数组下标、函数调用、以及表达式分组

       (2)++ 、-- 、!、delete、new、typeof

       (3)* 、/ 、% 

       (4)+ 、 -:加、减、字符串拼接

       (5)关系运算符、instanceof(判断某个对象是否是某个类的实例)

       (6)逻辑运算符

       (7)赋值运算符

       “()”的作用:可以对表达式进行分组,改变运算符的优先级

          函数调用,“new”运算符,用来创建对象。

a =!6<7;//true

//解析:
//a=(!6)<7;
//a = false < 7;
//a = 0 < 7;
//true;

八、强制转换

       强制转换只要指:Number 、 String 、Boolean三个构造函数,手动将各种类型的值,转换成数字,字符串或布尔值。

       1、Number 强制转换

            (1)参数为原始类型值的转换规则

                 原始类型的值只要是字符串、布尔值、undefined 和 null,他们都能被Number 转换成数值或NaN(not  a  number)

                 isNaN:判断变量是否为数值型

Number(324);  //324
Number('324');  //324
Number('123abc');//123abc
Number("");//0
Number(true);//1
Number(false);//0
Number(undefined);//NaN
Number(null);//0

            (2)参数为对象的转换规则

                     Number方法的参数是对象时,将返回NaN

Number({a:1});//NaN

              注:如果对象值为函数则称为方法

var obj = {
    valueof:function(){
        return {};
    },
    toString:function(){
        return{};
    }
};//转换步骤

 

       2、string 强制转换

 

            (1)参数为原始类型值的转换规则

                   数值:转换成相应的字符串

                   字符串:原来的值

                   布尔:“true”“false”

                   undefined:“undefined”

                   null:“null”

          (2)参数为对象的转换规则

                   若参数为对象,返回一个类型字符串,若为数组,返回数组的字符串形式

                   转换步骤和Number相反

九、自动转换(隐式转换)

       浏览器将一个数据类型转换为另外一个数据类型

      1、自动转换为布尔值

//if(条件语句){}条件语句被转为boolean

       2、自动转为字符串

alert(5+"1");//5被转成'5',和1进行字符串拼接,结果为51

alert(null+"2");//null2

alert({}+"6");//[object Object]6

       3、自动转换为数值

alert(5-"1");// 4
alert(null-2);// -2

alert(undefined-2);//NaN

十、进制

       1、各种进制之间的转换

            (A)toString(B)//将A进制的数转换为B进制

       2、各进制转10进制

parseInt(A,B);
//A为要转换的各进制数
//B为进制数(2,16,8)

十一、代码规范

       1、代码缩进

       2、+ 、= 等运算符两边空格

       3、以分号结尾

       4、小括号的嵌套要加空格

       5、双引号、单引号的嵌套

 

 

 

 

 

 

 

 

    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值