遗漏知识点

2017-08-21  本文已影响0人  _Enco_

input

box-sizing:border-box;
box-sizing: content-box;  //W3C盒子
outline:none;

textarea 固定样式

resize:none;

选中背景色改变

p::selection {
        background:yellow;
    }

css3 background-size

-webkit-background-size: ;
background-size: cover;

null 是特殊对象

arr[0] 等价于 arr["0"];

var arr = [1,2,3,4];
arr.name = 'xi';
for(k in arr){
  console.log(k); //打印 0,1,2,3,name
}
console.log(arr.length); // 4

判断是否为空和数字

if( !num || typeof(num) !== "number"){
}

禁止默认事件

e.preventDefault();

阻止事件冒泡

e.stopPropagation();

jquery的入口函数

$(window).load();
$(document).ready();
window.onload = function (){}

json

valueOf 方法

event.target (事件委托会用到)

openRequest.onsuccess = function(event){
        var db = this.result;
        // var db = event.target.result;
      }

字符串、数组方法 contains();

访问对象的方式

person.name;
person['name'];

this

var length = 10;
function fn(){
  console.log(this.length); // 10 这里没有调用者,是window在调用方法
}
var obj = {
  length: 20,
  method: function (fn){
    fn();
argments[0](); // 3 这里的等价于 arguments.fn()
  }
}
obj.method(fn,1,2);

字符串取第一个首字母

var first = words[0];
var first = charAt(0);
function cssToDom(cssStr){
  var words = cssStr.split("-");
  for(var i=1;i<words.length;i++){
    words[I] = words[I][0].toUperCase()+words.substr(1);
  }
  log(words.join(""));
}
cssToDom(border-type-nth);

事件冒泡

event.cancelBubble = true;  //ie清除冒泡 现在也支持大部分流行浏览器
event.stopPropagation(); //不支持ie

w3c盒子和ie盒子的区别

var

console.log(num); //undefined
      var num = 10;
      console.log(num); //10
      var num ;
      console.log(num); //10

以上代码,var num会变量提升,但是不会赋值,所以第一句打印语句打印undefined。然后执行赋值语句,所以在后面提升的num有了值10,所以之后打印的num的值为10.

取消a标签的默认事件

event.preventDefault();

js中的特殊数据类型

什么是原型链

function f(){}
f.prototype.foo = "abc";
var obj = new f();
console.log(obj.foo); //abc

什么是闭包

事件的原理、如何传播

form 默认 method GET

<input type="hidden" name="a" value="login">

序列加载表单数据

表单对象.serialize();

$.ajax 中检测错误

error:function(XMLHttpRequest, textStatus, errorThrown){
            console.log("请求对象XMLHttpRequest: "+XMLHttpRequest);
            console.log("错误类型textStatus: "+textStatus);
            console.log("异常对象errorThrown: "+errorThrown);
          }

require 访问的文件是当前页面路径下的页面的路径

访问权限控制

php implode 方法

php 常见方法

$__SERVER['REMOTE_ADDR'];

去除滚动条

::-webkit-scrollbar {
width: 0;
height: 0;
}
arr.sort(function(v1,v2){
  return v2-v1;
})

label 和 input 绑定

<label for='username'>用户名:</label>
<input type='text' id='username'>

对象转字符串

null 和 undifined

数组操作

new干了什么

this = {};
this.name;
return this;

闭包(能访问函数内部变量的函数及其上下文环境)

原型和原型链

ajax 同步属性

sql left join 和 right join


表A记录如下:
aID     aNum
1     a20050111
2     a20050112
3     a20050113
4     a20050114
5     a20050115

表B记录如下:
bID     bName
1     2006032401
2     2006032402
3     2006032403
4     2006032404
8     2006032408


1.left join
sql语句如下:
select * from A
left join B
on A.aID = B.bID

结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404
5     a20050115    NULL     NULL

(所影响的行数为 5 行)
结果说明:
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.
换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).
B表记录不足的地方均为NULL.


2.right join
sql语句如下:
select * from A
right join B
on A.aID = B.bID

结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404
NULL     NULL     8     2006032408

(所影响的行数为 5 行)
结果说明:
仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.


3.inner join
sql语句如下:
select * from A
innerjoin B
on A.aID = B.bID

结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404

结果说明:
很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.


注:
LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。

语法:FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2

说明:table1, table2参数用于指定要将记录组合的表的名称。
field1, field2参数指定被联接的字段的名称。且这些字段必须有相同的数据类型及包含相同类型的数据,但它们不需要有相同的名称。
compopr参数指定关系比较运算符:"=", "<", ">", "<=", ">=" 或 "<>"。
如果在INNER JOIN操作中要联接包含Memo 数据类型或 OLE Object 数据类型数据的字段,将会发生错误.

事件委托 事件代理

jsonp

jquery 三层ajax

$('input').click(function () { $('#box').load('test.html');
});
$('input').click(function () {
$('#box').load('test.html .my'); });
//不传递 data,则默认 get 方式 $('input').click(function () {
$('#box').load('test.php?url=ycku'); });
//get 方式接受的 PHP <?php
if ($_GET['url'] == 'ycku') {
echo '瓢城 Web 俱乐部官网';
} else {
echo '其他网站';
    } 
?>

//传递 data,则为 post 方式 $('input').click(function () {
$('#box').load('test.php', { url : 'ycku'
}); });
//post 方式接受的 PHP <?php
if ($_POST['url'] == 'ycku') {
echo '瓢城 Web 俱乐部官网';
} else {
echo '其他网站';
} ?>
$('input').click(function () { $('#box').load('test.php', {
url : 'ycku'
}, function (response, status, xhr) {
alert('返回的值为:' + response + ',状态为:' + status + ',
状态是:' + xhr.statusText);
}); });
//使用$.get()异步返回 html 类型 $('input').click(function () {
$.get('test.php', { url : 'ycku'
}, function (response, status, xhr) { if (status == 'success') {
$('#box').html(response); 
    }
//使用$.post()异步返回 html $.post('test.php', {
url : 'ycku'
}, function (response, status, xhr) {
$('#box').html(response); });
//点击按钮后再加载 JS 文件 $('input').click(function () {
$.getScript('test.js'); });
$('input').click(function () {
$.getJSON('test.json', function (response, status, xhr) { alert(response[0].url);
}); });

通过表单名 通过表单名.标签名.value

上一篇 下一篇

猜你喜欢

热点阅读