自己总结JS

  1. JS是javascript是脚本语言.
  2. Js是基于对象和事件驱动的脚本语言
  3. 基于对象:js也能象java一样通过new自定义js对象
  4. 事件驱动:js可以让网页动起来,什么时候要触发执行js代码
  5. JS的特点:
  6. 直译式:不需要编译过程
  7. 弱类型:js不关系类型
  8. JS出现位置:行内JS&内部JS&外部JS.
  9. 鼠标单击双击划过事件--点击YYYY,鼠标箭头弹出XXXX
  1. <div οnclick=”alert(‘XXXX’)”>YYYY</div>;//单击事件
  2. <div οndblclick=”alert(‘XXX’)”>YYYY</div>//双击事件
  3. <div onmouseenter=”alter(XXXX)”>YYYYY</div>划过事件

 这个弹出的YYY是页面上弹出来一个小窗口.

  1. <script>JS代码写到这个区域</script>
  2. JS里赋值用var(容易出现误差)或let(用这个最好)
  3. Alert()是输出语句,--这是打开网页弹出的设置
  4. Console.log()是输出语句,这在浏览器console这页面平台.F12.
  5. 运算符

A==B:字面值相等就是true;

A===B:绝对等于需要字面值和类型都一样才true;

%是取余;

/是5/2=2.5,结果需要小数.

Prompt():请客户输入数据

Typeof查看数据类型:是number-string------

  1. 创建数组

   Let x=[1,2,3,4]

   Let x=new Array(1,2,3,4);

  1. 遍历数组 for(let y in x){console.log(x[y])};

y是数组下标,要用  in

Js是弱类型语言,js数组可以存放各种类型的数据,java里的object[]也可以.js里的数组长度,随时可以变.

如:x[100]=89;

输出x的长度就是101;(console.log(x.length))

JS的函数

创建函数:

Let x=function(){};

Function x(){};

自定义对象方式:

Function x(){}     let y=new  x();//创建x对象

这个方法y.play(){};y是对象,play是方法.

Let x={ X:Y }//X是属性名  Y是属性值

这个的方法A:function(){};//A是函数名,

Josn:是一种轻量级的数据交互, 格式 本质上就是一个子符串文本.

作用:用来完成前后端数据的交互 格式 存储 管理数据

Let x=’”a”:”b”’;//字符串

Let x=’{“a”:”b”,”c”:”d”}’;//对象

Let x=’[{“a”:”b”,”c”:”d”},{“a”:”b”,”c”:”d”},{“a”:”b”,”c”:”d”}]’//数组

把josn串转换为js对象

Var y=JSON.parse(x);//将字符串数组 c 转换为js对象y,

第一个{}下标是0 ,输出语句是console.log(y[0].a),输出b.

把js对象转换为字符串

let e1={

Name:”你爸爸”,

Age:20

}

Let  e=JSON.stringify( e1);

转换以后e={"name":"你爸爸","age":20}

DOM

Document对象

  • window.document---获取Document对象
  • getElementById()---通过id属性的值,获取元素,只有一个
  • getElementsByName()---通过name属性的值,获取元素,会得到多个,存入数组
  • getElementsByClassName()---通过class属性的值,获取元素,会得到多个,存入数组
  • getElementsByTagName()---通过标签名,获取元素,会得到多个,存入数组
  • title--获取标题
  • innerHtml--获取内容
  • innerText--获取内容

var Z= document.getXXXX('YYYY');

YYY是渲染区<div >里的内容器的标记,id class name,XXX是方法,

通过YYY利用方法将数据存入Z数组.

输出数据:console.log(Z[1].innerText);//console.log(Z[1].innerHtml);

修改得到的数组:Z.innerHTML='我变了';//Z.innerText='我变了';

Vue

  1. 是一个基于JavaScript的渐进式前端框架.其核心思想是数据驱动,组件化的前端开发.
  2. 是一个轻量级的mvvm框架,双向绑定,数据动态更新,gzip后大小只有20k+
  3. 原生html页面是通过js操作的是dom,而vue.js操作的是数据.
  4. 和传统的前端开发开发的关注点完全不同,传统的方式关注的是象document结构的api,而vue关注的是数据
  5. 优点显而易见,从而屏蔽了使用复杂晦涩难记的dom结构api
  6. Vue是一个用于构建用户界面的渐进式spa(single page applications)

单一页面框架.从一开始就被设计为按需搭建.

在html文件中:

  • 在<title></title>后面插入

vue.js//<script src=”vue.js”></script>,表示路径

  • vue.js系统准备好的,把附件拉入到创建的文件里,
  • 在<body>XXX</body>,XXX区域准备数据渲染区,先整标签 创建属性id=”SB”,//属性赋值SB,下面调用
  • 内容YYYY写到2个花括号里{{YYY}}.
  • 在<body>XXX</body>,

XXX区域创建<script>AAA</script>,

  • 在AAA区域创建vue对象,

New Vue({

el:”#SB”,//el后写上面创建的id值,前面写#号

Data:{

  YYYY:”CCCC”,

//YYY为属性名上面花括号里的内容,CCC为属性值

}

})

  1. 具体如下

  <html>

<head>

<meta charset="utf-8">

<title>测试vue的入门案例</title>

<!-- 1.引入vue.js //别人写好的-->

<script src="vue.js">

</script>

</head>

<body>

<!-- 2.准备渲染数据(区),获取vue的数据 -->

<div id="app">   

{{msg}}<br />

{{name}}

</div>

<!-- 3.准备数据,将被数据渲染区来获取 -->

<!-- 这个自己写的 -->

<script>

//准备数据,创建对象

new Vue({

//挂载点:即将在这个位置展示vue数据

el:"#app",  //element,元素 挂载点--使用了CSS里的id选择器

//数据:给挂载点准备数据

data:{

       msg :'我是你爸爸888,养你这么大,你还不听话,',

   name :'---爸爸的名字是ddy'

}

})

</script>

</body>

</html>

  1. 算术运算符
  • 如果{{}}写的是 + - * / %的算式,在vue对象的data里,可以什么也不用写
  • 如果{{}}写的是三目运算符,或者字符串的相关方法(求长度,拼接,截取),在vue对象的data里,给三目运算赋值,给字符串赋值;
  1. 方法

 如果{{}}写的是个方法,如{{ show() }};

  • 那么在new Vue({DDD})对象的DDD区域methods:{EEE}的EEE区域要详细写show方法;
  • show:function(){FFFF};其中function可以省略写成show(){FFF};
  • FFF区域结果的输出可以使用3中方法,
  • alert()是打开页面时弹出,
  • console.log()是输出到控制台
  • Return是输出到页面.
  • 方法必须写在methods代码段中;
  • 方法体中访问数据代码段中声明的变量,前面加this;
  • 方法和属性声明方式的差异在于function(){};
  • 方法和属性在调用时的差异是{{属性名}}{{方法名()}},名称后加小括号
  1. 解析数据--数组--对象的属性

如果{{}}写的是对象的属性和对象的方法;那么new vue({})里的data:{}的花阔里对对象的属性和方法进行定义;

如:{{p.name}} {{p.coding()}}

定义:new vue({

 el:”#id值”,

Data:{

   P:{   

 Name:””,//定义属性值

       Coding(){

        Alter()或者console()或者return()//输出语句

}

}

}

})

如果是josn数组--{{list[0].name}}{{list}}

new vue({

 el:”#id值”,

Data:{

list:[{"name":"jack","age":"10"},{"rose'":"88"}]

}

}

如果是char数组-{{hobby[0]}}{{hobby}}

new vue({

 el:”#id值”,

Data:{

   hobby:[236,589,"死球",6,5,4]

}

}

  1. 三种data方法的书写

new vue({

 el:”#id值”,

Data:{}//第一种

Data:function(){}//第二种

Data(){}

};

高级用法-v-命令

Vue指令,是一些特殊指令,有标识 v-*;

使用方式:在标签上,当作一个属性来用

常用指令:v-model v-if  v-for v-bind ----

  1. v-cloak指令用来解决闪现问题,给数据渲染区添加v-cloak,选中有v-cloak属性的元素,然后隐藏.

  用<style> </style>标签写 [v-cloak]{display:none;}

  在渲染区,给元素赋值, <div id=”app” v-cloak>

  1. v-model是双向绑定数据

     XXX看做属性名,YYY看做第一次定义的属性值

    {{XXX}}

  在渲染区<input type=”text” v-model=”XXX”>

  在new Vue({

  el:”#app”,

  data(){

return{

XXX:’YYY’,

}

}

}).//使用return,是为了属性只在这个vue里使用,不会污染到其他数据.

我们启动这个页面会在页面显示YYY这些属性值,

如果我们在这些定义 的输入框里写入新的值,那么页面显示的YYY,就会变成我们输入的值.

  1. v-html和v-text

  XXX看做属性名,YYY看做第一次定义的属性值

{{XXX}}

在渲染区<div v-html=”XXX”></div>

        <div v-text=”XXX”></div>

  在new Vue({

  el:”#app”,

  data(){

return{

XXX:’YYY’,

}

}

YYY是带有html标签的属性值,v-html得到去除标签后的数据.v-text是获取YYY所有的数据.

  1. v-for

  指令是循环获取数据.

V-for加在行上,就会循环产生多行.

如果是数组:<p v-for=”X,Y in Z”>;X代表数组里的数据,Y代表下标,Z代表数组的名称.

  1. V-on

  指令给元素添加vue的事件,

v-on可以简写成一个@

Click是单击,dblclick是双击.

<button v-on:click="show()">单击按钮</button>

<button v-on:dblclick="test()" >双击按钮</button>

<button @dblclick="test()" >双击按钮</button>

<button @click="sum()">点赞{{count}}</button>

直接调的方法需要放到methods:{}里,与data()平级.

点赞在的那个方法,this.count++,也需要在data里用count数据接收.

  1. V-bind

这个没搞明白

  1. Vue组件

   是vue框架提供的恶一个功能,扩展了HTML的标签,我们象使用HTML标签一样,直接使用vue组件就可以,可以提高代码的复用性.

分类:

全局组件可以被多个vue对象使用,封装了前端的代码提高了复用性,放在new vue(),之前的,表示所用对象都能用.

局部组件:只能在当前的vue对象(数据渲染区)使用

全局组件:vue.component(组件名.组件的功能)

局部组件:给vue对象添加新的属性components.

全局组件:我们要现在<script></script>里,new Vue对象的前,创建一个与之同级的全局组件,

  • <script>
  • Vue.component(‘XXX’,{ template:’YYY’})
  • New Vue({el:”#id值”})
  • </script>
  • XXX是全局组件的标签,YYY是标签代表的属性值
  • 我们在渲染区利用id值调用全局组件.

局部组件:

局部组件需要在new Vue({})里来创建,

如:

  • New Vue({  el:”#id值”,

Components:{  XXX:{ template:’YYY’

  • }}})
  • XXX是局组件的标签,YYY是标签代表的属性值

  1. 路由
  • 路由排列顺序
  • 插入vue.js
  • 插入vue-router.js
  • 渲染区<div>
  • 路由组件
  • 创建的路由对象
  • 创建的new vue({})对象
  • 根据用户的请求,决定交给哪个组件来处理这次请求.
  • 他的关键字<router-link>----<router-view>
  • 开发步骤:
  • 要先导入vue.js文件.
  • 在导入vue-router.js文件.

  • 在new vue({})中,写入路由:router;
  • 创建路由对象:let router=new VueRouter({
  • Routes:[

{path:"/XXX",component:YYY},

]}) --//XXX是写到渲染区的路径,YYY是路由组件.

  • 创建路由组件

  let YYY={ template:'<h1>我是帮助页</h1>'

  • 使用路由

  在渲染区,找到写入router的这个new vue({})对象,对应的id值.在此渲染区写入

<router-link to="/XXX">帮助页</router-link>

<router-view></router-view>

启动页面,会显示 帮助页 三个字.点击 帮助页,会出现  我是帮助页 这几个字.

(点击后-->new vue({})对象里的router属性-->找创建的router对象-->在根据路径”/XXX”找到组件YYY-->根据组件找到组件定义的属性值,并输出)

  

  

上一篇:链接共享库libGLES_mali.so会导致dlopen失败:在Android> = 7.0中找不到库“android.hardware…@1.0.so”


下一篇:2021.11.18,内容:水仙花。