今日知识

  1. 1. JavaScript基础
  2. 2. 案例
  3. 3.总结

JavaScript介绍:

  1. * 概念:一门客户端脚本语言
  2. * 运行在客户端浏览器中的,每一个浏览器都有JavaScript的解析引擎
  3. * 脚本语言:不需要编译,直接就可以被浏览器解析执行
  4. * 功能:
  5. * 可以来增加用户用户和html页面交互过程,可以控制html元素,让页面有些动态的效果。
  6. * JavaScript发展
  7. 1. 1992Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验。命名为 C-- ,后来更名为:ScriptEase
  8. 2. 1995年,Netscape(网景)公司,开发了一门客户端脚本语言:LiveScript。后来,请来SUN公司的专家,修改LiveScript,命名为JavaScript
  9. 3. 1996年,微软抄袭JavaScript开发出JScript语言
  10. 4. 1997年,ECMA(欧洲计算机制造商协会),制定出客户端脚本语言的标准:ECMAScript,就是统一了所有客户端脚本语言的编码方式。
  11. * JavaScript = ECMAScript + JavaScript自己特有的东西(BOM+DOM)

基本语法

  1. * ECMAScript:客户端脚本语言标准
  2. 1. 基本语法
  3. 1. html结合
  4. 1. 内部JS
  5. * 定义<script>,标签体内就是js代码
  6. 2. 外部JS:定义<script>,通过src引入js文件
  7. * 注意
  8. 1. <script>可以定义在html页面的任何地方。但是定义的位置会影响执行顺序。
  9. 2. <script>可以定义多个。
  10. 2. 注释
  11. 1. 单行注释://
  12. 2. 多行注释 /*注释内容*/
  13. 3. 数据类型
  14. 1. 原始数据类型(基本数据类型)
  15. 1. number:数字。 整数/小数/NaN(not a number 一个不是数字的数字类型)
  16. 2. string:字符串。 字符串 "abc" "a" 'abc'
  17. 3. boolean: truefalse
  18. 4. null:一个对象为空的占位符
  19. 5. undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined
  20. 2. 引用数据类型:
  21. * 本地对象:
  22. * Array对象: var mobile =new Array();
  23. * Date()对象: var date=new Date();
  24. * date.getFullYear()获取当前年份
  25. * date.getMonth()获取当前月份
  26. * RegExp对象:正则表达式
  27. * 内置对象
  28. * Global对象
  29. * Math对象
  30. * 宿主对象
  31. * DOM(文本对象模型)和BOM(浏览器对象模型)
  32. 3. 类型转换
  33. 1. 转化为字符串
  34. * var x=true;
  35. var result=x.toString()//返回为true
  36. * 使用科学计数法会返回计算后的十进制完整数
  37. * 例如:var x=1.25e8;
  38. var result=x.toString();//结果为125000000
  39. * 基数模式下,填入指定参数
  40. * 例如:var x=10;
  41. var result=x.toString(2);//声明将原始数据转换为二进制,结果为"1010"
  42. var result=x.toString(8);//声明将原始数据转换为八进制,结果为"12"
  43. var result=x.toString(16);//声明将原始数据转换为十六进制,结果为"A"
  44. 2. 转换为数字
  45. * praseInt()方法
  46. * var x="123hello";
  47. * var result=praseInt(x);//结果为123,遇到NaN(非数字)就会停止检查
  48. * var result=praseInt(x,2);//表示原始数据为二进制。
  49. * var result=praseInt(x,8);//表示原始数据为八进制。
  50. * var result=praseInt(x,16);//表示原始数据为十六进制。
  51. * 特殊情况:var x="010";
  52. * result=praseInt(x);//不强调进制,会默认按8进制算
  53. * praseFloat():使用方法和上面一样,遇到NaN(非数字)就会停止检查,只接受十进制的表示,
  54. 3. 强制类型转换Type Casting
  55. * var result=Boolean("hello");//非空字符串返回true
  56. * var result=Boolean("");//返回false
  57. * var result=Boolean(0);//0 返回false
  58. * var result=Boolean(2356);//非0返回true
  59. * Number函数:
  60. * var x=Number("2.9");//返回值为浮点型2.9
  61. * var x=Number(true);//返回值为1
  62. * var x=Number(false);//返回值为0
  63. * -- 当需要返回的是为null,和undefined的时候, Number()函数分别返回为0,和NaN.
  64. * 当需要转换的类型为其他自定义对象的时候,返回值都为NaN.
  65. 4. 变量
  66. 1. 变量:一小块存储数据的内存空间
  67. 2. Java语言是强类型语言,而JAVAScript是弱类型语言
  68. * 强类型:在开辟变量存储空间时,定义了空间将来存储的数据的数据类型。只能存储固定类型的数据
  69. * 弱类型:在开辟变量存储空间时,不定义空间将来的存储数据类型,可以存放任意类型的数据。
  70. 3. 语法:var 变量名=初始化值;
  71. 4. typeof运算符:获取变量类型
  72. * null运算获得是object
  73. 5. 运算符
  74. 1. 一元运算符:
  75. 2. 算符运算符:+-*/%
  76. 3. 赋值运算符:= += -+....
  77. 4. 比较运算符:> < >= <= == ===(全等于)
  78. 1. 类型相同直接比较
  79. 2. 类型不同:先进行类型转换,在比较。
  80. * ===:全等于,类型不一样,直接返回false
  81. 3. 字符串比较
  82. * 如果相同位置上是数字,直接按照数字大小进行比较
  83. * 位数不同的也是按照只对相同位置的数字大小进行比较
  84. * 比如:x="10",x1="9",result=x1>x;//返回true
  85. * 字符串中是字母,会按照字母的ASCLL值进行挨个比较
  86. * x.toLowerCase();所有字母转换为小写
  87. * x.toUpperCase();所有字母转换为大写
  88. 4. 字符串和数字比较
  89. * 先进行强制类型转换,在比较。
  90. 5. 逻辑运算符
  91. 1. !,&& ,|| 将其他类型转换为Boolean
  92. 2. number0NaN为假,其他为真
  93. 3. string:除了空字符串(""),其他都是true
  94. 4. null&undefined:都是false
  95. 5. 对象:所有对象都为true
  96. 6. 流程控制语句
  97. 1. if...else...
  98. 2. switch:
  99. * java中,switch语句可以接受的数据类型: byte int shor char,枚举(1.5) ,String(1.7)
  100. * switch(变量):
  101. case 值:
  102. * JS中,switch语句可以接受任意的原始数据类型
  103. 3. while
  104. 4. do...while
  105. 5. for
  106. 6. for-in
  107. * 用于循环遍历是对象的所有属性或方法
  108. * for(x in Object){
  109. // x是变量,每次循环按照顺序获取对象的一个属性和方法名。
  110. msg+=Object[x];//Object[X]指的是对应的属性值。
  111. }
  112. 7. JS特殊语法:
  113. 1. 语句以;结尾,如果一行只有一条语句则 ;可以省略 (不建议)
  114. 2. 变量的定义使用var关键字,也可以不使用
  115. * 用: 定义的变量是局部变量
  116. * 不用:定义的变量是全局变量(不建议)
  117. 8. 实例:九九乘法表
  118. 代码:<!DOCTYPE html>
  119. <html lang="en">
  120. <head>
  121. <meta charset="UTF-8">
  122. <title>九九乘法表</title>
  123. <style type="text/css">
  124. td{
  125. border:2px solid darkgray ;
  126. }
  127. </style>
  128. <script>
  129. document.write("<table align='center'>");
  130. //完成for循环嵌套
  131. for(var i=1;i<=9;i++){
  132. document.write("<tr>");
  133. for(var j=1;j<=i;j++){
  134. document.write("<td>");
  135. //输出
  136. document.write(i+"*"+j+"="+(i*j)+"&nbsp;&nbsp;&nbsp;");
  137. document.write("</td>");
  138. }
  139. // document.write("<br>");
  140. document.write("</tr>");
  141. }
  142. document.write("</table>");
  143. </script>
  144. </head>
  145. <body>
  146. </body>
  147. </html>

基本对象(引用数据类型)

  1. 1. Function:函数对象
  2. 1. 创建 function 方法名(形式参数列表){
  3. 方法体
  4. }
  5. 2. 特点:
  6. * 方法定义:形参的类型不用写,返回值类型也不写。
  7. * 方法是一个对象,如果定义方法名称一样的函数,会覆盖
  8. * js中,方法的调用只与方法的名称有关,和参数列表有关
  9. * 在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有实际参数
  10. 2. 本地对象:
  11. 1. Array对象: var mobile =new Array();
  12. * mobile [0]="nihao";
  13. * 方法
  14. join(参数):将数组中的元素按照指定的分隔符拼接为字符串
  15. push() 向数组的末尾添加一个或更多元素,并返回新的长度。
  16. 2. Date()对象: var date=new Date();
  17. * date.getFullYear()获取当前年份
  18. * date.getMonth()获取当前月份
  19. * date.getDate();返回几号
  20. * dategetDay():返回星期几
  21. 3. RegExp对象:正则表达式对象
  22. 1. 正则表达式:定义字符串的的规则
  23. * 单个字符:[]
  24. * 如[a],[ab] [a-zA-Z0-9]
  25. * 特殊字符串代表的的特殊含义
  26. * \d:查找哦数字字符
  27. * \w:查找单词字符
  28. * 量词字符:
  29. * ?:表示出现0次或者1
  30. * *:代表0个或者多个
  31. * +:至少包含一个以上的字符
  32. * {x,y}:包含x个,或者Y个,
  33. * n{x,}:至少包含X个以上的字符
  34. * 开始结束符号:
  35. * * ^n:查找以n开头的字符串
  36. * * $n:查找以n结束的字符串
  37. 2. 正则表达式对象:
  38. 1. 创建
  39. * var reg=new RegExp("正则表达式");
  40. * var reg=/正则表达式/;
  41. 2. 方法
  42. * exec():该方法适合具有参数的情况 var result=RegExpObject.exec(String s); 每次按照顺序从文本找到相应的字符串,直到 全部找完,再次运行就会返回null.
  43. * test():用于检索是否包含指定字符串,返回值布尔类型。
  44. * <script>
  45. var reg=new RegExp("^\\w{6,12}$");
  46. //常用
  47. var reg2=/^\w{6,12}$/g;//定义字符长度6-12位的对象
  48. var user="zhangeerwqeweqeeqweqweqw";
  49. var result=reg2.test(user)
  50. alert(result);
  51. </script>
  52. 3. 内置对象
  53. * Global对象
  54. * 全局对象
  55. * Math对象
  56. * 无须初始化直接通过关键字Math调用所有的方法和属性。
  57. 4. 宿主对象
  58. * DOM(文本对象模型)和BOM(浏览器对象模型)

08-JavaScript基础的更多相关文章

  1. JavaScript基础入门08

    目录 JavaScript 基础入门08 DOM 介绍 绑定事件 给一组元素绑定事件 节点 节点树 节点类型 选取文档内容 通过id选取元素 通过指定的标签名选取元素 用指定的css类来选取元素 通过 ...

  2. JavaScript基础系列目录(2014.06.01~2014.06.08)

    下列文章,转载请亲注明链接出处,谢谢! 链接地址: http://www.cnblogs.com/ttcc/tag/JavaScript%20%E5%9F%BA%E7%A1%80%E7%9F%A5%E ...

  3. JavaScript基础---语言基础(1)

    写在前面: 通过四篇博客把JS基础中的基础整理一下,方便自己查阅,这些内容对于实际项目开发中也许并不会在意,但是作为JS的语言基础,自觉还是应该熟悉.在完成这三篇博客(JavaScript基础---语 ...

  4. javaScript基础之闭包

    不管是Jquery还是EXTJS,现代的js框架中大量应用了js的一些特性,比如:匿名函数,闭包等等,导致源代码非常难以阅读. 不过要想真正的使用好前台的UI技术,还是需要去深入的理解这些概念.   ...

  5. JavaScript基础知识(一)

    一.JavaScript基础 1.JavaScript用法: HTML 中的脚本必须位于 <script> 与 </script> 标签之间. 脚本可被放置在 HTML 页面的 ...

  6. 回归JavaScript基础(六)

    主题:引用类型Date.RegExp的介绍. 上节主要主要介绍了Object.Array引用类型.这节将继续为大家介绍引用类型,并对书中的一些知识点进行总结与归纳,也借此巩固自己对JavaScript ...

  7. JavaScript学习(1)之JavaScript基础

    JavaScript学习(1)之JavaScript基础 由于工作原因,开发语言逐渐以JavaScript为主,所以,抽空学习了下JavaScript语法.等现阶段的工作稳定之后,陆续会分享下自己在学 ...

  8. javascript基础入门知识点整理

    学习目标: - 掌握编程的基本思维 - 掌握编程的基本语法 typora-copy-images-to: media JavaScript基础 HTML和CSS 京东 课前娱乐 众人皆笑我疯癫,我笑尔 ...

  9. JavaScript基础入门06

    目录 JavaScript 基础入门06 Math 对象 Math对象的静态属性 Math对象的静态方法 指定范围的随机数 返回随机字符 三角函数 Date对象 基础知识 日期对象具体API 构造函数 ...

  10. JavaScript——基础知识,开始我们的js编程之旅吧!

    JavaScript基础第01天 1. 编程语言 编程语言: 可以通过类似于人类语言的"语言"来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming ...

随机推荐

  1. Java类成员之代码块

    代码块含义:使用{ }括起来的代码 代码块类型: 1.局部代码块:定义在方法体中. 2.构造代码块:也叫初始化代码块,定义在类中方法体之外. 3.静态代码块:定义在类中方法体之外,被static修饰符 ...

  2. .net Core 使用IHttpClientFactory请求

            导读:本文已添加在晨曦微服务之旅,现在自己在尝试微服务架构,一边学边做项目快速的进入状态.当然在学习的过程中会将自己学到的知识进行分享. 一.为什么不用HttpClient       ...

  3. light题目讲解 7.25模拟赛T1

    心得:这一道题其实就是自己打暴力打出来的 没有想到正解真的就是暴力枚举 我的做法是这样的 就是枚举A字符串中长度为x的子串 看它是不是B串的子序列 接下来是我的绝望考试代码(100分AC) //lig ...

  4. 读取Core下的appsettings.json的值的时候中文乱码

    这个百度一下一大堆,我就用的这个:然后重新生成一次就好了. 2.有的是更改VS的什么高级保存之类的,我记得之气设置过, 然后就是:这篇文章

  5. Python解析json字符串,json字符串用法

    json数据简介 json数据是一个轻量级的数据交换格式,采用完全独立于语言的文本格式,这些特性使json称为理想的数据交换语言,易于人阅读和编写,同时易于机器解析和生成. json中的字符集必须是U ...

  6. Nginx配置不同端口号映射二级域名

    upstream xx{ #ip_hash; server 127.0.0.1:1008; } server { listen 80; server_name xx.xxx.com; location ...

  7. 我的第一个 Kaggle 比赛学习 - Titanic

    背景 Titanic: Machine Learning from Disaster - Kaggle 2 年前就被推荐照着这个比赛做一下,结果我打开这个页面便蒙了,完全不知道该如何下手. 两年后,再 ...

  8. 公司项目redis 项目报错 记事

    异常内容:  Timeout performing GET Key_CacheHSCode, inst: 1, mgr: ExecuteSelect, err: never, queue: 2, qu ...

  9. 【Four-Week-Task】四周学习CTF之第一周【寒假更新】

    写在最前:为了更好地系统学习CTF(楞头冲很惨 别问我怎么知道的 除非你是天才),决定先看再学,先正向再逆向. /* 出版排版规范中,标题序号等级为:第一级,一.二.三.(用顿号):第二级,(一).( ...

  10. 返回数据中提取数据的方法(JSON数据取其中某一个值的方法)

    返回数据中提取数据的方法 比如下面的案例是,取店铺名称 接口返回数据如下: {"Code":0,"Msg":"ok","Data& ...