使用JS的三种方式

    1、直接在html标签中,使用事件属性,调用js代码

    <button onclick="alert('弹框')">弹框!</button>

  

    2、在页面的任意位置,使用script标签,插入js代码

    <script type="text/javascript">
    //js代码
    </script>

  

  3、引入外部js文件

    <script src="new_file.js" type="text/javascript"></script>

  

    【注意事项】
    ①js代码可以放在代码的任何位置使用,但是放置的位置不同,将影响js执行的顺序
    ②引入外部js的script标签中,不再包含任何的js代码

js中的变量

  1、变量的声明:

    var num=1;//使用var声明的变量属于局部变量,只在当前作用域有效
    num="谔谔企鹅"//不用var声明的变量,默认是全局变量,在这个js文件可用
    var a=1,b,c=3;//使用一行代码,声明多个语句 其中b为undefined

  【js中变量声明的注意事项】
    ①js中声明变量关键字只有var一个,变量的类型取决于所赋的值
    如果声明后未赋值,则为undefined类型

    ②js中同一个变量,可以在多次赋值中,被修改数据类型

    ③变量可以使用var声明,也可以直接赋值声明。
    区别:使用var声明的作用域为局部变量

    ④在js中,一个变量可以多次使用var声明,声明相当于赋值。

    ⑤js变量名 区分大小写

  2、js中的数据类型:

    undefined:使用var声明,但是没有赋值
    null: 表示空的引用
    Boolean:真假
    number:数值类型,包括整型和浮点型
    string:字符串
    object:对象

  3、常用数值函数

    ①isNaN:用于检测一个变量是不是非数值(not a namber)
    isNaN在检测时,会先调用number函数,尝试将变量转为数值类型,如果最终结果能够转为数值,则不是NaN

    ②Namber函数:将各种数据类型转为数值类型
    undefined 无法转换,返回NaN
    null 转为 0
    Boolean true 1 false 0
    字符串 如果是纯数值字符串,可以转换 “123” -->123
    如果有 数字 字母 无法转换
    如果是空字符串 转为0

    ③parseInt():将字符串转为数值类型
    字符串如果是空字符串 不能转 返回NaN
    如果是纯数值类型可以转换,且小数点直接舍去 “123.8”-->123
    如果字符串包含非数值字符,则将非数值字符前面的整数进行转换 “1a1”-->1

    ④parefloat:转换机制与pareint()相同
    不同的是:转小数,有小数点 123.4-->123.4
    ”123“-->123

    ⑤typeof:检测一个变量的数据类型
    字符串返回的是string 数值 返回的是number true返回Boolean 未定义返回undefined 对象/null返回object 函数 返回function

JS中常用的输入输出语句

    1、alert():弹窗输出

    2、prompt:弹窗输入 接收两部分参数:①输入提示内容,②输入框的默认内容,两部分都可以省略。

    输入的内容默认都是字符串。

    3、document.write : 在浏览器内容打印

    4、console.log: 浏览器控制台打印

JS中函数的声明与调用

    1、函数声明的格式     

   

 function 函数名(参数1,参数2){
    //函数体代码
     return 返回值;
     }

     函数调用:
     ①直接调用,函数名(多个参数);
     ②通过事件调用,

 <button onclick="func(prompt(),'444'))">点你呀</button>

     2、函数声明与调用的注意事项:

    ①函数中有没有返回值,只取决于函数中有没有return。无需声明
     没有返回值,接收为undefined
     ②js中,函数的形参列表与实参列表,没有任何关联
     函数参数实际个数,取决于实参列表
     3、js中,函数是变量的唯一作用域: (其他地方声明变量都为全局变量)
     函数的形参是属于函数的局部变量

    4、函数的声明与调用语句没有先后之分,可以先调用后声明

    【代码的执行顺序】
     js代码执行分为两个阶段,检查编译阶段,代码执行阶段
     检查编译阶段:检查语法错误,变量的声明 函数的声明
     代码执行阶段,变量的赋值,函数的调用执行
    

    func();
  var func=function(){
    alert(99);
   }

    先执行var func
    再执行func();
    func=function(){
      alert(99);
     }
    所以函数的调用 要放在 声明后
    function func(){
      alert(1);
    }
      func();

   

匿名函数的声明与使用

     1、匿名函数表达式:
    

var func=function(){}

   
     2、直接将匿名函数,赋值给一个事件

window.onload=function(){}//文档就绪函数,确保函数中的代码在html加载完 之后执行
window.onload=function(){
  document.getElementById("div").onclick=function(){}
 }

 

     3、自执行函数
     ①!function(){}():开头用! 表示自执行语句 
     ②(function(){}()):用()将匿名函数声明与调用包裹在一起
     ③(function(){})():用()将匿名函数声明包裹

JS基础整理的更多相关文章

  1. js基础整理总结

    变量和变量作用域 变量和函数声明提升定义 Var a=100; Function test(){ 这时候由于变量声明提升,a变量已经声明,值为undefined Console.log(a); Var ...

  2. JS基础整理面试题

    1.DOM和BOM的区别 DOM:document object model;文档对象模型,提供操作页面元素的方法和属性BOM:browser object model;浏览器对象模型,提供一些属性和 ...

  3. SVG.js 基础图形绘制整理(二)

    一.折线 var draw = SVG('svg1').size(300, 300); //画折线 //使用字符串点 // var polyline=draw.polyline('0,0 100,50 ...

  4. Three.js基础

    Three.js基础探寻一 Three.js基础探寻一   1.webGL 一种网络标准,定义了一些较底层的图形接口. 2.Three.js 一个3Djs库,webGL开源框架中比较优秀的一个.除了w ...

  5. js基础进阶--图片上传时实现本地预览功能的原理

    欢迎访问我的个人博客:http://www.xiaolongwu.cn 前言 最近在项目上加一个图片裁剪上传的功能,用的是cropper插件,注意到选择本地图片后就会有预览效果,这里整理一下这种预览效 ...

  6. Three.js基础探寻一

    1.webGL 一种网络标准,定义了一些较底层的图形接口. 2.Three.js 一个3Djs库,webGL开源框架中比较优秀的一个.除了webGL以外,Three.js还提供了基于Canvas.SV ...

  7. Three.js基础探寻二——正交投影照相机

    本篇主要介绍照相机中的正交投影照相机. 第一篇传送门:Three.js基础探寻一 1.照相机 图形学中的照相机定义了三维空间到二维屏幕的投影方式. 针对投影方式照相机分为正交投影照相机和透视投影照相机 ...

  8. 前端工程师面试问题归纳(一、问答类html/css/js基础)

    一.参考资源 1.前端面试题及答案整理(一) 2.2017年前端面试题整理汇总100题 3.2018最新Web前端经典面试试题及答案 4.[javascript常见面试题]常见前端面试题及答案 5.W ...

  9. [转帖]nginx基础整理

    nginx基础整理 https://www.cnblogs.com/guigujun/p/6588545.html 目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Ngin ...

随机推荐

  1. 试题 E: 迷宫

    [问题描述]下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可以通行的地方.010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个 ...

  2. apache http添加证书转成https

    使用yum安装的apache. 第一步,需要把准备好的证书上传到服务器.具体位置:/app/cacerts/ 第二步,安装ssl. 命令:yum install mod_ssl openssl 安装完 ...

  3. [原创]X-HDL 4.2安装与使用

    由于涉及到VHDL工程,但实际工作中,用Verilog更多些,因此安装X-HDL进行转换,安装步骤与使用如下: X-HDL进行破解,破解如下: 安装完毕后,打开一个带转换的文件,进行如下操作: 链接: ...

  4. 【转】【Android】1分钟不用改任何代码在Eclipse中使用AAR

    原文:https://www.jianshu.com/p/ccf306e08d5b?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=t ...

  5. php换行和<br />互转

    使用场景:在后台处理textarea换行的时候出现了问题, textarea里面的换行就是/n, 在textarea里面是有换行效果的,但是输出到其它地方没有效果,这时候就要用到PHP的神奇的nl2b ...

  6. ./graldew bash: ./gradlew: No such file or directory

    使用gradlew的项目,可以使用./gradlew assembelDebug 使用本地gradle编译的项目,并且配置了环境变量,可以使用gradle assembleDebug直接编译包

  7. UOJ.311.[UNR#2]积劳成疾(DP)

    UOJ 序列中的每个位置是等价的.直接令\(f[i][j]\)表示,\(i\)个数的序列,最大值不超过\(j\)的所有序列每个长为\(k\)的子区间最大值的乘积的和. 由\(j-1\)转移到\(j\) ...

  8. 2018-2019-2 网络对抗技术 20162329 Exp1 PC平台逆向破解

    目录 1.实践目标 2.实验内容 2.1 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数. 2.2 利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getS ...

  9. Win10 安装Oracle11g2、配置PL/SQL Developer11环境

    Oracle11g2的下载地址(下载以下两个压缩包,解压后得到两个oracle目录,放到一起就得到完整的安装文件了): 1.Oracle11g2: oracle-part-1 oracle-part- ...

  10. 操作redis数据库 & 操作Excel & 开发接口

    操作redis数据库: string类型 1. 增 set,传俩个参数 key value(只要是字符串就行)2. 删 delete 传一个参数 key3. 修改 set 在目标key重新传参 key ...