javascript基本语法,变量和数据类型理解

javascript基本语法

1.注释

作用:注释是不需要执行,主要是对程序进行文字说明和解释

语法:

单行注释
// 注释的文字

语法:

多行注释

/*  注释的文字   */

2.javascript区分大小写

3.关键字和保留字

  • 关键字:编程语言中有特殊含义的单词
    break else new var case finally return void
    catch for switch while continue function this with
    default if throwdelete in try do instanceof typeof

  • 保留字:现在JavaScript版本中没有使用这些单词,供以后版本使用,但是也不准我们使用。
    abstract enum int short boolean export interface static
    byte extends long super char final native synchronized
    class float package throws const(ES6已经在用了) goto private transient debugger implements protected volatile double import public

关键字和保留字不需要特别记忆,慢慢来积累和记忆

4.标识符

  • 不能使用中文
  • 可以使用字母(大小写),数字,下划线,$
  • 命名的首字符不能以数字开头
  • 如果名字很长,可以使用驼峰命名法:
    a.小驼峰,只有第一个单词的首字母小写,其他的首字母全大写
    b.大驼峰,所有单词的首字母全大写

数据的分类

  • 按照保存时间来分类
    a.临时数据:关机或断电是,会直接消失,一般保存在内存中
    b.永久数据:主要保存在硬盘,U盘……除非人为主动删除,否则会一直存在

对于那些需要运算的数据,直接把数据存储在内存中,使用方便,因为内存的读写速度是最快的

变量

  • 变量:表示变化的数据

  • 作用:用于存储程序中变化的数据

1.变量的定义

语法:
ES5中var 变量名;

ES6中

  • 使用let关键字来定义一般变化的数据
    a.let用法和var 用法等价,如let 变量名;

  • 使用const来定义一个常量
    a.常量表示定义好后,不能二次修改的数据

2.给变量赋值

声明一个变量并给它赋值
var 变量名 = 值;
把右边的值赋值给左边的变量名。

3.变量的使用

语法:变量名

4.同时定义多个变量

  • 注意多个变量之间使用逗号分隔

    • 如:定义多个变量
    var a1, a2, a3;
    
    • 定义多个变量,并给某些进行赋值
    var a1, a2 = 10, a3;
    
    • 定义多个变量,给多个变量赋相同的值
    var a1 = a2 = a3 = 30;
    

什么时候使用var或let ?

先声明,再赋值或使用
  • 在定义或声明变量是,都一定使用var来指定
  • 给已经定义的变量赋值时,后面赋值的var可以不写
  • ES6定义变量的写法(建议熟悉ES6的申明方式)

javascript中的数据类型

  • 数据类型:
    表示把所有的数据进行一个分类

  • 作用:
    a.主要通过数据类型的不同合理分配空间,达到内存最大使用率
    b.相同的数据类型才可以进行运算,不同的数据类型不能进行运算

查看数据类型:

  • 语法:typeof(变量名)

1.基本数据类型

(面试题)

  • number(数字类型或数值类型)

    • 分类:
      • 整数,int, 如 1 2 parseInt
      • 小数,float,如 1.2
      • 特殊情况:
        • NaN(not a number)计算失误,转换失败,不是一个明确值的类型
        • infinity (除数为零)无穷大
  • string(字符串类型)

    • 所有使用引号引起来的都是字符串,引号包括单引号和双引号
    • 所有的中文都得用引号,字符串
    • 转义符(反斜杠\):

      \n 换行
      \ \ 反斜杠
      \ " 双引号
      \ ' 单引号

  • boolean(布尔类型)

    • 结果只有 true false
      • true 表示 正确,满足,条件成立,真
      • false 表示不正确,不满足 ,条件不成立,假
    • 注意(强制类型转换):0,“” ‘’ NaN undefined false作为变量的值时,返回的结果为false,其他的都为true。
  • undefined(未定义),定义了变量但是未赋值

    • 如果定义了一个变量,未给它赋值的时候,默认值为undefined
    • 如果使用了一个未定义的变量,会报错。报错提示:xxx is not defined
  • null(空对象 object类型)

    • 表示没有定义该对象,也没有赋值或直接给定一个变量赋值为null
    • 注意:null为对象类型,是js早起的小bug。一般用于清空对象中的属性和方法,或者是没有拿到返回值

null和undefined比较

面试题
相同点:null,undefined均代表无值;
不同点:undefined代表一个变量如果没有赋值,那么值是undefined,变量的默认值;null代表一个变量如果是存储的值是引用类型,但是目前对象还没有创建,那么就可以设置为null,另外如果一个应该函数有返回值,如果最终没有数据作为返回值,那么也会返回null。

2.引用数据类型

  • 对象
  • 函数
  • 数组

javascript中的类型转换

  • 什么是类型的转换:将一种数据类型转换成另一种类型
  • 为什么要转换:主要是由于相同数据类型之间才能进行运算,不同数据类型之间不能进行运算。

强制类型转换

  • 表示把一种数据类型转换成指定数据类型
  1. 转换成数字类型(Number())

a.转换成整数 parseInt()

  • 如:将字符串文字强制转换为NaN
  • 把小数和不是数字的部分去掉
  • 在字符串中,首字符为数字时,会转换成具体的整数,如”21px88“,将被转换为21
  • 如果有小数点,会将小数点前的转换为整数,如”12.9002“,将转换为12.
  • 如果字符串中全是非数字,将转换成NaN
  • 运用场景:价格取整,css样式中去掉px

b. 把所有类型强制换为小数 parseFloat()

  • 只有首字符开始的连续数字转换后得到具体值
  • 除了字符串的其他类型转换后都得到NaN
  • 如果小数后面的值是有效值,转换后就保留,否则就删除

c.把所有类型转换成数字类型
- Number()
- 1.只能纯数字构成字符串才可以转换
2.true:1;false:0
3.Undefined:NaN ; null:0;

2.转换成布尔类型(Boolean())
- Boolean(),结果只有两种,true false
- 0 ”“ ‘’ NaN undefined null false 会转换成false,其他的都转换成true.

3.转换成字符串类型(String())
- String()

自动类型转换

  • 作用:表示结合上下文的语境进行自动转换
  • 只要有一个字符串,加法就会转换成字符串,加法,一般都会默认为字符串的拼装。
  • 如果是减法,会转换为数字类型
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,874评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,102评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,676评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,911评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,937评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,935评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,860评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,660评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,113评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,363评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,506评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,238评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,861评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,486评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,674评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,513评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,426评论 2 352