You can use Sharepoint Client Object Model for this. Here is how to do it on the current web:

    function CheckPermissionOnWeb() 
    {
        context = new SP.ClientContext.get_current();
    
        web = context.get_web();
    
        this._currentUser = web.get_currentUser();
    
        context.load(this._currentUser);
    
        context.load(web,'EffectiveBasePermissions');
    
        context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethod), Function.createDelegate(this, this.onFailureMethod));
        }

        function onSuccessMethod(sender, args) 
        {
            if (web.get_effectiveBasePermissions().has(SP.PermissionKind.editListItems)) 
            {
                //User Has Edit Permissions
                alert('YEAH, edit list permissions!');
            }
        }
    } 

from http://spdailytips.blogspot.se/2011/09/check-current-user-permission.html

[Here][1] you can find all the possible values for the Enum SP.PermissionKind.

This pattern will work on a List or a ListItem as well (like a page). Just make sure to load the object with `context.load(theItem, 'EffectiveBasePermissions');`


  [1]: http://msdn.microsoft.com/en-us/library/ee556747%28v=office.14%29.aspx